Over Netpbm


Netpbm is een toolkit voor het manipuleren van grafische afbeeldingen, inclusief conversie van afbeeldingen tussen verschillende formaten. Er zitten meer dan 300 afzonderlijke tools in het pakket, inclusief converters voor ongeveer 100 grafische formaten. Voorbeelden van het soort beeldmanipulatie waar we het over hebben zijn: een afbeelding met 10% verkleinen; De bovenste helft van een afbeelding afsnijden; Spiegelbeeld maken; Een reeks afbeeldingen maken die van de ene afbeelding naar de andere vervagen.

Raadpleeg de gebruikershandleiding voor details.

Het pakket is bedoeld om naar veel platforms te worden overgedragen. Het is minstens één keer getest onder verschillende op Unix gebaseerde systemen, Windows, Mac OS X, VMS en Amiga OS. De onderhouder gebruikt en bouwt het op een Linux-systeem.

Het doel van Netpbm is om een ​​enkele bron te zijn voor alle primitieve grafische hulpprogramma's, vooral converters, die je misschien nodig hebt. Dus als u enige vrij herdistribueerbare software in deze geest kent die nog niet in het pakket zit, moet u dit onder de aandacht brengen van de Netpbm-onderhouder zodat het in de volgende uitgave kan worden opgenomen.

Netpbm bevat geen interactieve tools en heeft geen grafische interface. De programma's kunnen worden opgeroepen vanuit een getypt shell-commando, maar de meeste zijn ook gericht op intern gebruik door een programma.

Netpbm
Zie Netpbm ophalen.

Bouwen en installeren
Instructies voor het bouwen en installeren van Netpbm staan ​​in de Netpbm source tree in het bestand doc / INSTALL.

Ondersteuning
Er is geen mailinglijst of volgsysteem voor bugrapporten en hulpvragen. Stuur gewoon een e-mail naar de onderhouder, Bryan Henderson, op bryanh@giraffe-data.com. Bryan reageert redelijk snel en betrouwbaar.

Controleer eerst de wijzigingsgeschiedenis voor uw releasereeks om te zien of de bug al is verholpen. De optie --version op de meeste Netpbm-programma's vertelt je welke release je gebruikt.

Er is geen foutopsporingssysteem omdat er niet genoeg foutrapporten zijn om het de moeite waard te maken. De onderhouder reageert onmiddellijk op elk gemaild bugrapport.

Houd er rekening mee dat er over het algemeen niet zoiets bestaat als een bug die is gerapporteerd, maar die geen oplossing heeft in de wijzigingsgeschiedenis. Dat komt omdat wanneer een bug wordt gerapporteerd, er binnen een paar dagen een nieuwe release is om deze te repareren (of een documentatiewijziging waardoor het geen bug is).

Ontwikkeling
Netpbm wordt onderhouden en gedistribueerd via een Sourceforge-project.
Vereisten
Zie hieronder voor een korte lijst van Debian-pakketten die u kunt installeren en vervolgens waarschijnlijk Netpbm vanaf de broncode kunt bouwen (wat u waarschijnlijk zult moeten doen omdat Debian geen redelijk Netpbm-pakket heeft).

Als u problemen ondervindt bij het verkrijgen, bouwen of installeren van de voorwaarden, wil de Netpbm-onderhouder dit weten. Omdat hij ze zelf gebruikt, kan hij je helpen. En als er een probleem is met een vereist pakket dat de eigen onderhouder niet kan repareren, is het misschien mogelijk om een ​​reparatie met Netpbm te verzenden.

Om Netpbm te bouwen en te installeren, heb je GNU Make en een Perl-interpreter nodig. U kunt GNU Make krijgen van The GNU Project en Perl van CPAN. Je hebt de basis Perl-interpreter en de kernmodules nodig (waarschuwing: dit zijn aparte pakketten in Fedora). Het is mogelijk om de Perl-vereiste te omzeilen door enkele van de stappen uit te voeren op een andere machine met Perl en andere handmatig uit te voeren. Er is geen praktisch alternatief voor GNU Make.

Het Netpbm-pakket als geheel gebruikt meer dan een half dozijn externe bibliotheken, maar je hoeft ze niet per se allemaal te installeren om Netpbm te bouwen. Elke bibliotheek wordt gebruikt door een paar Netpbm-programma's, en als je de bibliotheek niet hebt, zal de Netpbm-build automatisch het bouwen van die onderdelen overslaan. Zie de lijst met vereisten.

pstopnm (de Postscript naar PNM image converter) vereist Ghostscript (geïnstalleerd met de naam gs in je commando zoekpad). En het vereist in het bijzonder dat Ghostscript wordt gebouwd met de relevante PNM-apparaatstuurprogramma's.

Elke C-compiler die de C89-standaard implementeert (wat waarschijnlijk betekent dat elke C-compiler die u tegenkomt) zou moeten werken. Gcc 2.96 is echter zodanig verbroken dat het niet in staat is om Netpbm te compileren. Elke andere versie van GCC of Clang zou moeten werken.

Netpbm vereist een C runtime-bibliotheek (libc) die Single Unix Specification, versie 2 (ca. 1997) implementeert. Sommige compilers of C-runtime-bibliotheken, waaronder MinGW, implementeren functietestmacro's onjuist en de bibliotheekkopbestanden of Netpbm moeten enigszins worden aangepast om de code te kunnen compileren. De GNU C-bibliotheek van versie 2 of hoger zou moeten werken, inclusief elke Linux-distributie die je waarschijnlijk tegenkomt.

Netpbm vereist ongeveer 9 MiB schijfruimte, exclusief documentatie. De documentatie is 4 MiB, maar u hoeft deze niet per se te installeren; je hebt gewoon toegang tot de openbare kopie.

Debian vereist pakket
Het volgende commando op een Debian 10-systeem zou je alles moeten geven wat je nodig hebt om Netpbm vanaf de broncode op te halen, te bouwen en te installeren:

    
      $ apt-get install subversion make pkg-config gcc perl-modules flex \
        libjpeg-dev libtiff-dev libpng-dev libx11-dev libxml2-dev \
        ghostscript gsfonts
    
  
Juridische bruikbaarheid
Netpbm bestaat uit code die door veel auteurs is bijgedragen en de meeste van hen, of in sommige gevallen hun werkgevers, hebben auteursrecht op de delen die ze hebben geschreven. Alle auteurs hebben u het recht verleend om hun code te gebruiken en te verspreiden zonder dat u ze hoeft te betalen, zolang u voldoen aan enkele eenvoudige vereisten. Al deze openbare licenties zijn "open source" licenties zoals gedefinieerd door SourceForge (SourceForge stelt dat een voorwaarde voor het distribueren van de code).

Een aanbieding van een copyrightlicentie vindt u doorgaans in de broncodebestanden. GPL-, BSD-, MIT- en BSD-licenties worden aangeboden. Steve McIntyre deed in 2001 een onderzoek naar de broncode om te bepalen wat er in Debian kon worden opgenomen en vatte samen wat hij vond in het bestand copyright_summary in de broncodestructuur.

Ondersteuning
Er is geen mailinglijst of volgsysteem voor bugrapporten en hulpvragen. Stuur gewoon een e-mail naar de onderhouder, Bryan Henderson, op bryanh@giraffe-data.com. Bryan reageert redelijk snel en betrouwbaar.

Controleer eerst de wijzigingsgeschiedenis voor uw releasereeks om te zien of de bug al is verholpen. De optie --version op de meeste Netpbm-programma's vertelt je welke release je gebruikt.

Er is geen foutopsporingssysteem omdat er niet genoeg foutrapporten zijn om het de moeite waard te maken. De onderhouder reageert onmiddellijk op elk gemaild bugrapport.

Houd er rekening mee dat er over het algemeen niet zoiets bestaat als een bug die is gerapporteerd, maar die geen oplossing heeft in de wijzigingsgeschiedenis. Dat komt omdat wanneer een bug wordt gerapporteerd, er binnen een paar dagen een nieuwe release is om deze te repareren (of een documentatiewijziging waardoor het geen bug is).

Ontwikkeling
Netpbm wordt onderhouden en gedistribueerd via een Sourceforge-project.
Vereisten
Zie hieronder voor een korte lijst van Debian-pakketten die u kunt installeren en vervolgens waarschijnlijk Netpbm vanaf de broncode kunt bouwen (wat u waarschijnlijk zult moeten doen omdat Debian geen redelijk Netpbm-pakket heeft).

Als u problemen ondervindt bij het verkrijgen, bouwen of installeren van de voorwaarden, wil de Netpbm-onderhouder dit weten. Omdat hij ze zelf gebruikt, kan hij je helpen. En als er een probleem is met een vereist pakket dat de eigen onderhouder niet kan repareren, is het misschien mogelijk om een ​​reparatie met Netpbm te verzenden.

Om Netpbm te bouwen en te installeren, heb je GNU Make en een Perl-interpreter nodig. U kunt GNU Make krijgen van The GNU Project en Perl van CPAN. Je hebt de basis Perl-interpreter en de kernmodules nodig (waarschuwing: dit zijn aparte pakketten in Fedora). Het is mogelijk om de Perl-vereiste te omzeilen door enkele van de stappen uit te voeren op een andere machine met Perl en andere handmatig uit te voeren. Er is geen praktisch alternatief voor GNU Make.

Het Netpbm-pakket als geheel gebruikt meer dan een half dozijn externe bibliotheken, maar je hoeft ze niet per se allemaal te installeren om Netpbm te bouwen. Elke bibliotheek wordt gebruikt door een paar Netpbm-programma's, en als je de bibliotheek niet hebt, zal de Netpbm-build automatisch het bouwen van die onderdelen overslaan. Zie de lijst met vereisten.

pstopnm (de Postscript naar PNM image converter) vereist Ghostscript (geïnstalleerd met de naam gs in je commando zoekpad). En het vereist in het bijzonder dat Ghostscript wordt gebouwd met de relevante PNM-apparaatstuurprogramma's.

Elke C-compiler die de C89-standaard implementeert (wat waarschijnlijk betekent dat elke C-compiler die u tegenkomt) zou moeten werken. Gcc 2.96 is echter zodanig verbroken dat het niet in staat is om Netpbm te compileren. Elke andere versie van GCC of Clang zou moeten werken.

Netpbm vereist een C runtime-bibliotheek (libc) die Single Unix Specification, versie 2 (ca. 1997) implementeert. Sommige compilers of C-runtime-bibliotheken, waaronder MinGW, implementeren functietestmacro's onjuist en de bibliotheekkopbestanden of Netpbm moeten enigszins worden aangepast om de code te kunnen compileren. De GNU C-bibliotheek van versie 2 of hoger zou moeten werken, inclusief elke Linux-distributie die je waarschijnlijk tegenkomt.

Netpbm vereist ongeveer 9 MiB schijfruimte, exclusief documentatie. De documentatie is 4 MiB, maar u hoeft deze niet per se te installeren; je hebt gewoon toegang tot de openbare kopie.

Debian vereist pakket
Het volgende commando op een Debian 10-systeem zou je alles moeten geven wat je nodig hebt om Netpbm vanaf de broncode op te halen, te bouwen en te installeren:

    
      $ apt-get install subversion make pkg-config gcc perl-modules flex \
        libjpeg-dev libtiff-dev libpng-dev libx11-dev libxml2-dev \

Juridische bruikbaarheid
Netpbm bestaat uit code die door veel auteurs is bijgedragen en de meeste van hen, of in sommige gevallen hun werkgevers, hebben auteursrecht op de delen die ze hebben geschreven. Alle auteurs hebben u het recht verleend om hun code te gebruiken en te verspreiden zonder dat u ze hoeft te betalen, zolang u voldoen aan enkele eenvoudige vereisten. Al deze openbare licenties zijn "open source" licenties zoals gedefinieerd door SourceForge (SourceForge stelt dat een voorwaarde voor het distribueren van de code).

Een aanbieding van een copyrightlicentie vindt u doorgaans in de broncodebestanden. GPL-, BSD-, MIT- en BSD-licenties worden aangeboden. Steve McIntyre deed in 2001 een onderzoek naar de broncode om te bepalen wat er in Debian kon worden opgenomen en vatte samen wat hij vond in het bestand copyright_summary in de broncodestructuur.

Met Netpbm, zoals bij de meeste open source-software, weet je natuurlijk niet zeker wie de code heeft geschreven en of de licentie-aanbiedingen die je vindt eigenlijk afkomstig zijn van de mensen die het auteursrecht bezitten. Het kan zijn dat iemand ooit code zonder toestemming heeft gekopieerd en deze heeft bijgedragen aan Netpbm, wat betekent dat als je het verder kopieert, je de auteursrechteigenaar royalty's verschuldigd bent. Het risico hiervan zou echter klein moeten zijn, omdat geen enkele bijdrage aan Netpbm zo waardevol is dat een dergelijke auteursrechteigenaar de moeite zou nemen om het auteursrecht af te dwingen.

De Netpbm-onderhouder heeft geen garanties ontvangen dat de code is gelicentieerd en biedt dergelijke garanties aan niemand anders.

Er kunnen octrooien worden toegepast door Netpbm-code, waardoor een gebruiker van de code aansprakelijk zou worden gesteld voor royalty's aan de octrooihouder. De Netpbm-onderhouder heeft geen licentie om patenten te gebruiken. Er zijn geen actieve patenten bekend bij de Netpbm-onderhouder die betrekking hebben op Netpbm, maar vroeger werden ze gedetailleerd beschreven in het bestand patent_summary in de source tree.

Netpbm gebruiken op een website
Veel mensen gebruiken Netpbm om grafische functies op een website uit te voeren. Ze hebben CGI-scripts die Netpbm-programma's aanroepen om afbeeldingen te verwerken voor weergave op een webpagina. Gallery en 4Images zijn twee websitesoftwarepakketten die afhankelijk zijn van Netpbm voor grafische manipulatie.

Het installeren van Netpbm vereist andere vaardigheden en systeemtoegang dan het installeren van de meeste andere websitesoftware. U moet C-code voor de webservermachine kunnen compileren en een basiskennis hebben van hoe bestanden zijn georganiseerd en programma's op de webserver worden uitgevoerd. Voor het diagnosticeren van onvermijdelijke problemen is meestal shell-toegang tot de webserver vereist.

Netpbm is eenvoudige grafische software die door elke webhostingservice moet worden geleverd. Als het nog niet op uw webserver staat, moet u de systeembeheerder vragen om het toe te voegen.

Populariteit
De populariteit van Netpbm is voornamelijk historisch. Er was een tijd dat het het belangrijkste grafische verwerkingspakket ter wereld was, maar dat was een tijd waarin computers voornamelijk werden gebruikt door ingenieurs en wetenschappers - mensen die comfortabel shell-commando's konden typen en programma's konden schrijven. Het was een tijd waarin grafische gebruikersinterfaces zwak en zeldzaam waren. Tegenwoordig zijn een paar van de 300+ programma's van Netpbm behoorlijk populair, maar de meeste worden voornamelijk gebruikt door zeer oude programma's en zelfs door oudere programmeurs. Een persoon snijdt tegenwoordig eerder een foto bij met Adobe Photoshop of Gimp dan met pnmcrop van Netpbm of converteert van GIF naar PNG met ImageMagick.

Een andere reden voor de afnemende populariteit is dat Netpbm's belangrijkste kenmerk toen het nieuw was, de mogelijkheid was om tussen grafische formaten te converteren. Op acht na, van de 100 formaten die Netpbm kent, zijn tegenwoordig alleen in musea te zien.

Dit betekent niet dat Netpbm verouderd is. Onder de niche van ingenieurs die modulair ontwerp, hergebruik van code en het bouwen van dingen op basis van bouwstenen waarderen, kent Netpbm zijn gelijke niet. Deze mensen blijven het in grote aantallen gebruiken en er komen elke drie maanden nieuwe releases uit, die meestal nieuwe functies bevatten.

In juni 2012 deed Netpbm-ontwikkelaar en -gebruiker Akira F Urushibata een onderzoek naar het op Linux gebaseerde besturingssysteem Fedora en ontdekte dat 114 Netpbm-programma's tot op zekere hoogte in ten minste één Fedora-pakket werden gebruikt. Dit omvatte converters voor 34 grafische formaten.

De tien meest populaire (door het aantal pakketten dat het gebruikt) Netpbm-programma's in Fedora waren, in volgorde van de meest populaire:

  1. pnmtopng / pngtopnm (converteert naar / van PNG)
  2. pnmtops (converteert naar Postscript)
  3. ppmtogif / giftopnm (converteert naar / van GIF)
  4. pnmquant (kwantificeert kleuren)
  5. pamscale (Afbeeldingen schalen - afbeeldingen vergroten en verkleinen)
  6. tifftopnm / pnmtotiff (converteert naar / van TIFF)
  7. jpegtopnm (converteert naar JFIF)
  8. ppmtopgm (converteert kleur naar grijswaarden)
  9. pamcut (afbeeldingen bijsnijden)
  10. bmptopnm / ppmtobmp (converteert naar / van BMP).
  11. De tien meest populaire converters niet meegerekend waren:

  1. pnmquant (kwantificeert kleuren)
  2. pamscale (Afbeeldingen schalen - afbeeldingen vergroten en verkleinen)
  3. pamcut (afbeeldingen bijsnijden)
  4. pamfile (Rapporteert afmetingen van een afbeelding)
  5. pnmcrop (verwijdert randen van afbeeldingen)
  6. pamflip (draait afbeeldingen op verschillende manieren om)
  7. pnminvert (verwisselt zwart voor wit)
  8. pnmrotate (Roteert afbeeldingen)
  9. ppmdist (verbetert het contrast)
  10. ppmnorm (verbetert het contrast)
  11. Het is vermeldenswaard dat de feitelijke pakketafhankelijkheden veel minder gebruik van Netpbm laten zien dan deze cijfers aangeven. Deze studie werd gedaan door te zoeken naar namen van Netpbm-programma's in de pakketbestanden.

Het aantal downloads is niet mogelijk omdat Netpbm voornamelijk distribueert via de Subversion-kassa.

Geschiedenis
De geschiedenis van Netpbm gaat terug tot 1988. In het kort: Netpbm vervangt het wijdverspreide Pbmplus-pakket (laatst uitgebracht op 10 december 1991). Er zijn talloze verbeteringen en toevoegingen doorgevoerd. Na de laatste release van Pbmplus begonnen er veel extra filters op het net te circuleren, wat op dat moment een vrij nieuwe stand van zaken was. Het doel van Netpbm was om deze te verzamelen en er een pakket van te maken, vandaar de naam "Netpbm." Dit werk is uitgevoerd door programmeurs over de hele wereld.

Zie change.html voor een gedetailleerde geschiedenis van codewijzigingen. Vanaf hier kunt u zien of een bepaalde bug is verholpen sinds de release waarin u deze ziet, en welke nieuwe functies er zijn in nieuwere releases dan u heeft.

Original Page Here