Netpbm
Netpbm は画像を扱うプログラムとライブラリの、オープンソースのパッケージであり、おもにUnixプラットフォームで多�…
| 開発元 | Bryan Henderson |
|---|---|
| 最新版 |
11.02.12
/ 2024年12月25日 |
| リポジトリ | |
| プログラミング 言語 | C, Perl, Unix Shell |
| 対応OS | Cross-platform |
| ライセンス | various, believed to be DFSG free |
| 公式サイト | netpbm.sourceforge.net |
Netpbm は画像を扱うプログラムとライブラリの、オープンソースのパッケージであり、おもにUnixプラットフォームで多く用いられている。移植性の高いパッケージで、多くの種類のUNIXプラットフォーム、Windows、macOS、VMS、Amiga OSや、Unix-likeなオープンソースなOSで動作するよう開発されている。
ファイル形式とプログラム
Netpbmでは、netpbm format と総称される画像ファイルフォーマット(形式)を定義している。
- portable pixmap/greymap/bitmap formats PPM, PGM, PBM。まとめてPNMと呼ばれる。
- PAM(Portable Arbitrary Map、PNMに含まれるいくつかの形式の拡張(を含む総称)。en:Netpbm#PAM graphics format を参照)。
Netpbmパッケージには220以上のプログラムが含まれている。ほとんど全てについて、その名前には "pbm"、"pgm"、"ppm"、"pam"、"pnm" 等が少なくとも1つ必ず付いている。たとえば pamscaleは画像を10%縮小するプログラム、pamcompは画像を重ねて合成するプログラム、pbmtextは文字列を画像にするプログラム、pnmquantは画像中の色数を減らすプログラムである。
Netpbmパッケージでは、たとえばPBM形式を.bmpに変換するときになどに、変換プログラムを連続させて使うことができる。
pgmtoppm "#FFFFFF" somepic.pbm > somepic.ppm ppmtobmp somepic.ppm > somepic.bmp
この例は以下のようにすれば、 パイプを使えば、コマンド入力の回数を減らし、途中で作られているsomepic.ppmファイルを作らずに済ませることができる。
pgmtoppm "#FFFFFF" somepic.pbm | ppmtobmp > somepic.bmp
以上のようにNetpbmは、Unix系OSなどの(CUIシェルの)パイプラインをうまく活用する、いわゆるUNIX哲学などでも引用される(カーニハンとプラウガーの)Software Tools のアプローチで全体が設計(デザイン)されている。
さらに、画像フォーマットを変換するプログラムとしては、ABC という画像フォーマットがあったとすると、ABCtopnm というようなプログラムと、pnmtoABC というようなプログラムが提供されている(注: "pnm" の部分は "ppm" などのこともある)。これにより pnm を中間形式とすることで、たとえばX11のダンプ形式 (XWD) をMacintoshのPICTに変換するには xwdtopnm と ppmtopict をパイプでつなげればよい (PNMを出力するプログラムはPBM、PGM、PPMのいずれかを出力する。またPNMを読み込むプログラムはそのどの形式も読み込める) 。具体的には次のようになる。
cat myscreenshot.xwd | xwdtopnm | ppmtopict > myscreenshot.pct
xwdコマンドの標準出力をそのままパイプへの入力とすれば、中間的なファイルを一切作らなくても済む。
xwd | xwdtopnm | ppmtopict > myscreenshot.pct
開発の経緯
白黒二値のビットマップ画像のデータ形式であるPBM形式は、プレーンテキストとして電子メールで受送信でき、ASCIIコードが廃れた後でも使える画像フォーマットを開発する目的で、1980年代にJef Poskanzerが考案した。
PBM形式の画像を扱うツールを開発するために、Pbmplusというライブラリが開発された。これはPBM提案者のJef Poskanzerによるもので、1988年にリリースされた。続いて彼はPGM形式およびPPM形式を提唱し、それを扱うために拡張したPbmplusをリリースした。Pbmplusは1991年12月10日までリリースが続いた。
1993年に、そのときにはすでに開発が止まっていたPbmplusの代替となるライブラリとしてNetpbmが開発された。これはPbmplusに世界各地から寄せられた修正案を適用し、まとめ直したものであった。その後1995年にまた開発が中断したが、1999年からは現在のメンテナBryan Hendersonが開発を引き継いでいる。
Netpbmという名前は、インターネットを通じて多くのプログラマたち共同作業を行っていたことからついたものである (NetBSDやNethackも同様にしてついた名前である)。
関連項目
外部リンク
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.