Netpbm
Netpbmon lähinnä komentorivillä toimiva avoimen lähdekoodin vapaa ohjelmapakettikuvatiedostojenmuokkaukseen. Se julkaistiin alun perin 1988 nimellä Pbmplus.
Pakettiin kuuluu noin 300 ohjelmaa, jotka pääasiassa muuntavat kuvatiedostoja paketin omiin formaatteihin tai niistä muihin tiedostomuotoihin, sekä ohjelmia, jotka luovat tai käsittelevät ohjelman tiedostoja. Tiedostoja voi skaalata, leikata, kääntää, yhdistää, värisävyjä muuttaa, niihin lisätä tekstiä tai erilaisia efektejä. Ohjelmat toimivatUnix-putkienkanssa, joten niitä voi yhdistää peräkkäin. Se sisältää pamx ja ppmsvgalib -ohjelmat kuvien näyttämiseenX:ssäja LinuxinSVGAlibinavulla.[1]
Netbpm sisältää ohjelmakirjaston libnetpbm, jolla vastaavia operaatioita voi tehdä omassa ohjelmassa.[2]
Netpbmin omat kuvatiedostomuodot ovat PBM (mustavalkoinen), PGM (harmaasävy), PPM (värillinen) ja PAM (kaksiulotteinen taulukko dataa). PNM on yhteisnimitys kolmelle kuvaformaatille ja niiden ohjelmien nimessä jotka käsittelevät kaikkia niitä.[3]
Pbmplusin kehitti alun perin Jef Poskanzer. 1990-luvulla ohjelmapaketti jäi moneksi vuodeksi ilman ylläpitoa, kunnes Anthony Thyssen kokosi Netpbm-1mar1994.p1 -paketin. Tämän jälkeen ylläpitoa jatkoi vasta Bryan Henderson vuonna 1999. 2010-luvulla ohjelmaa on lähinnä korjaillut Akira Urushibata.[4]
Esimerkki
[muokkaa|muokkaa wikitekstiä]![](https://upload.wikimedia.org/wikipedia/commons/thumb/3/3b/Additive_RGB_Circles-48bpp.png/250px-Additive_RGB_Circles-48bpp.png)
Komennot tekevät kolme tiedostoa, joissa on ympyrä harmaasävyillä. pnmpad piirtää niille reunukset siirtäen ympyrät eri kohtiin. Harmaasävyiset kuvat muutetaan eri RGB-päävärien kuviksi. Näistä 1 ja 2 summataan ja niihin lisätään kolmas kuva ja muunnetaan tulos png-tiedostoksi.
pgmramp -ellipse -maxval 65535 512 512 | pnmgamma -srgbramp | pnmpad -width 896 -height 896 -halign 0.25 -valign 0.75 | pgmtoppm rgb:ff/00/00 > step1.ppm
pgmramp -ellipse -maxval 65535 512 512 | pnmgamma -srgbramp | pnmpad -width 896 -height 896 -halign 0.75 -valign 0.75 | pgmtoppm rgb:00/ff/00 > step2.ppm
pgmramp -ellipse -maxval 65535 512 512 | pnmgamma -srgbramp | pnmpad -width 896 -height 896 -halign 0.5 -valign 0.25 | pgmtoppm rgb:00/00/ff > step3.ppm
pamarith -add step1.ppm step2.ppm > int.ppm
pamarith -add int.ppm step3.ppm | pnmtopng -gamma 0.45455 > rgbcircles.png
Lähteet
[muokkaa|muokkaa wikitekstiä]- ↑User manual for Netpbmnetpbm.sourceforge.net.Viitattu 17.4.2023.
- ↑https://netpbm.sourceforge.net/doc/libnetpbm.html
- ↑https://netpbm.sourceforge.net/doc/#formats
- ↑Netpbm Historynetpbm.sourceforge.net.Viitattu 17.4.2023.