2012-01-27 20 views
6

私は単純なコマンドラインツール(Linux版)を探して、pngファイルにテキストチャンク(著作権など)を挿入し、新しいpngファイルを作成します。テキストチャンクをpng画像に挿入する

> png-insert-text-chunk "here's my text chunk" <in.png> out.png 

注:「テキストチャンクを挿入する」とは、「イメージにテキストを描画する」という意味ではありません。私は:technical senseの塊としてpngファイルにテキストを挿入することを意味します。これは、例えば、実際の画像に表示されていない著作権メッセージを挿入するために使用できます。

+0

次回は同様の質問をunix.stackexchange.comに送信してください。これはプログラミング関連ではないためです。 –

+0

@mr私は、この質問が[この1つ]というよりも、プログラミングに関連したものではないことを知りません(http://stackoverflow.com/questions/115818/which-format-for-small-website-images-gif -or-png)または[this one](http://stackoverflow.com/questions/182875/free-tool-to-create-edit-png-images)を参照してください。画像のコレクションにテキストチャンクを挿入するbashにCGIスクリプトを書いたければ、上記のコマンドが必要でしょうか?私のプログラムのように聞こえる。 – gcbenison

+0

彼は具体的にLinux上でコマンドラインツールを要求していました。私は、unix.stackexchange.comが存在することを指摘していました。 –

答えて

14

私はこれを行うためのユーティリティを探していますが、私がやりたいことに本当に一致するものはまだ見つかりませんでした。だから私はbuild my ownに決めました。それはそれほど難しくありません。ユーティリティpng-text-dumpは、すべてのテキストチャンクをPNGイメージに表示します。 libpngのみに依存します。ユーティリティpng-text-appendは、テキストチャンクをPNG画像に挿入します。これは標準のCライブラリのみに依存しています。最初はlibpngを使用して実装しようとしましたが、PNG仕様のみを使用して最初から作業する方が簡単でした。

+0

その作業をしていただきありがとうございます!私は自分自身のメタデータをPNGに埋め込みたいと思っていますし、tEXtのチャンクがそれを行う方法であることがわかりましたが、それをサポートするツールはありませんでした。私はあなたのユーティリティを使用します! – stephenmm

+0

fwiwの 'pngtools'パッケージの' pnginfo'は、pngファイルのテキストチャンクを_display_することができます。明らかにあなた自身を追加するのと同じではありません(コードのおかげで!)が、時には素早いものに便利です。 – arcticmac

+0

私は、png-text-appendの79行目は次のようにしなければならないと思います: char name [5] = {'\ 0'}; // 4文字とヌルターミネータ を参照してください。http://stackoverflow.com/questions/15577124/strange-character-after-an-array-of-characters – Adam

1

私はpngcrushはこの能力があると信じている:この色を変更するオプションを使用し

-fillカラー

http://pwet.fr/man/linux/commandes/pngcrush

+0

私はpngcrushを少し調べましたが、これは可能です。私の唯一の問題は、他のチャンクだけを残すことができないということです。また、単純にpngファイルにあるテキストチャンクの内容を出力することができませんでした。 – gcbenison

0

に@ susam-PALによって行われたコメントに追加しますオプションでは、カラー名、16進数のカラー、またはRGB、RGBA、HSL、HSLA、CMYK、またはCMYKAの数値を指定できます。カラー引数を正しく指定する方法については、「カラー名」を参照してください。

"#"またはかっこがシェルによって解釈されないように、色指定を引用符で囲みます。

"がRGB(255,255,255)" link

7

使用のImageMagickのconvertから得


-fill "#ddddff" 例えば、

-fill青色

-fill -setオプション:

convert IN.png \ 
     -set 'Copyright' 'CC-BY-SA 4.0' \ 
     -set 'Title' 'A wonderful day' \ 
     -set comment 'Photo taken while running' \ 
     OUT.png 

-setオプションは、メタデータ要素を設定するために使用されます。 PNGの場合、これらはしばしばtEXtチャンクに入ります。

+1

逆に、image_property_を** strip **するには、 '+ set"プロパティ "'を使用してください。 – sphakka