PNGooD
PNG ファイルのサイズを小さくする
Perl 5
PNGooD とは
PNGooD は PNG の
- 不要データの削除
- 不要データの徹底削除
- コメントの削除
- コメントの挿入
- 簡単な解析
ができる Perl ライブラリです。
Sample
別ページの CGI へ移動します
Download
使い方
不要データの削除
# eXample; require "pngood.pl"; $result = pngood::dieter( $pngFile , $option , $newFile );
$pngFile は操作したい PNG のパス
$option 後述 ( 省略可 )
$newFile はファイルに書き出す場合、そのパス ( 省略可 )
$result には結果が返ります。 ファイルに書き出す場合は何バイト小さくなったか数値が返ります。 $newFile が省略されている場合は操作後のデータが返ります。 もし数字の 0 だった場合削除できるデータが存在しなかったことを意味します。 エラーが起こった場合は error という文字が返ります。
- コメントのみ削除
- 削除しても安全なデータの削除
- 必須データ以外を削除
不要データの削除は上記の3段階存在し $option で指定します。
削除しても安全なデータの削除
$option = 1; もしくは $option = 'safe'; で指定します。
必須データ以外を削除
$option = 2; もしくは $option = 'all'; で指定します。
コメントのみ削除
$option を省略するか上記2つ以外のパラメータ
(e.g., $option = 'comment';)
と渡すとコメントのみ削除できます。
コメントの挿入
$result = pngood::inserter( $pngFile , $comment , $newFile );
$comment に挿入したいコメントを渡します。 成功時は $result に数字の 1 が返ります。 $newFile を省略した場合は $result にコメント挿入済みデータが返ります。
簡単な解析
$result = pngood::analyzer( $pngFile ); # e.g., print $resul;
より詳しい解説
Option = 1 / 削除しても安全なデータの削除
このモードは補助チャンクの複写安全ビットが立ってるチャンクのみを削除します。 これはエンコーダが削除してもかまわないチャンクだといっているようなものなので、 無くとも特に問題ないハズです。通常はこのモードを選択します。
Option = 2 / 必須データ以外を削除
このモードは必須チャンク以外のチャンクを全て削除します。 複写安全ビットが立っていないチャンクでも削除を行なうので このモードを通して作られた PNG はレンダリングそのものは行なわれても 正常に ( 期待通りに ) 描画されない可能性があります。
Option = 0 / コメントのみ削除
このモードはコメントデータ等のテキストチャンクのみを削除します。 具体的には iTXt , tEXt , zTXt の3つチャンクを見つけたときだけそのチャンクを削除します。 画像に絡むチャンクに一切手をつけてほしくない時に利用します。
Copyright(C) 2002-2005 kerry.