jaakkolipsanen / imgedit.rs Goto Github PK
View Code? Open in Web Editor NEWCLI image manipulation tool written in Rust
CLI image manipulation tool written in Rust
Kokeilin ohjelmaa muutamalla kuvalla eri filtterein, ja täytyy sanoa että on kiinnostava idea. Rust on toisaalta hieman vieras kieli itselleni, erityisesti importtien toiminta on hieman kryptistä, mutta noin yleisesti vaikuttaa järkevältä kieleltä.
Itse koodiin liittyen:
to_rgb
-funktiossa. Tässä funktiossa ei ole oikein selvää mitä x
ja m
ovat, tai mitä ne tekevät.unsharp_mask
on hieman kryptinen, ja voisi olla selvempi jos kommentissa annettaisiin perustelu numeroiden valinnalle kommentissa linkin lisäksi – linkit eivät välttämättä elä ikuisesti. Muutamaan muuhun funktioon pätee sama asia.src
löytyy.CliArgs
on aika näppärä implementaatio structopt
:in avulla.Kaiken kaikkiaan siisti projekti – mielenkiinnolla odottelen miltä projekti tulee näyttämään valmiina!
Ladattu 25.4. klo 17
Koodi vaikuttaa hyvältä ja hyvin kirjoitetulta, vaikka Rust ei olekaan entuudestaan tuttu, joten vaikea kommentoida muuta kuin pintapuolisesti koodia.
Kokeilin ohjelmaa muutamalla kuvatiedostolla ja se vaikutti toimivan hienosti! Ohjelman kanssa leikkiessä hieman ihmetytti miksi tuki vain png-kuvatiedostoille? En ainakaan nopealla vilkaisulla keksinyt tähän syytä, mutta se voi hyvinkin löytyä syvältä koodin toteutuksesta.
Itse olisin saattanut eritellä filttereiden toteutukset omiin tiedostoihin niin yhdestä tiedostosta ei tule massiivista. Tosin osa filttereiden toteutuksista on hyvin lyhyitä, joten implementations.rs ei ole tällä hetkellä kovin suuri, vaikka testitkin näyttävät olevan samassa tiedostossa.
Koodi oli mielestäni hyvin dokumentoitua, erityisesti filttereiden osalta. JavaDoc-tyylistä kommentointia olisin ehkä kaivannut enemmän, mutta pääsääntöisesti metodit olivat melko simppeleitä ja niistä ymmärsi hyvin mitä ne tekevät.
Nopealla kokeilulla oletin ohjelman olevan nopeampi simppeleissä filttereissä (esim inverse), mutta varmasti esimerkiksi I/O-operaatiot vie oman aikansa joten varsinaista suorituskykyä vaikea kommentoida. Vertailu vaikka ImageMagick-kirjastoon voisi olla mielenkiintoinen! Kokonaisuudessaan projektin rakenne on hyvä ja ohjelman toiminnallisuuteen oli helppo päästä sisään, vaikka kieli olikin vieras. Mielenkiintoinen aihe!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.