Netpbm

Wikipediasta
(Ohjattu sivulta PPM)
Siirry navigaatioon Siirry hakuun

Netpbm on lähinnä komentorivillä toimiva avoimen lähdekoodin vapaa ohjelmapaketti kuvatiedostojen muokkaukseen. 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 toimivat Unix-putkien kanssa, joten niitä voi yhdistää peräkkäin. Se sisältää pamx ja ppmsvgalib -ohjelmat kuvien näyttämiseen X:ssä ja Linuxin SVGAlibin avulla.[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]

Netpbm:llä luotu kuvatiedosto

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

  1. User manual for Netpbm netpbm.sourceforge.net. Viitattu 17.4.2023.
  2. https://netpbm.sourceforge.net/doc/libnetpbm.html
  3. https://netpbm.sourceforge.net/doc/#formats
  4. Netpbm History netpbm.sourceforge.net. Viitattu 17.4.2023.