PNGメタデータの読み取りに使用できるソフトウェアは何ですか?[閉まっている]


54

QImage.setText(...)とQImage.text(...)を使用して、pngメタデータを追加して読み取るシンプルなQtベースのアプリケーションを作成できることを知っています。そのメタデータは、pngmetaというlinuxコマンドで読み取ることができます。

しかし、PNGメタデータを読み取るために使用できる他の画像ソフトウェアは何ですか?

一般的なプラットフォーム用の画像プログラムを探しているので、アプリケーションがWindows用かLinux用かを指定してください。

質問を明確にするために、いくつかのテストメタデータを添付したimgを添付しました。

メタデータを含むimg

ありがとうヨハン


リンク:

回答:


78

を使用してImageMagick

identify -verbose image.png

ImageMagickクロスプラットフォームである必要があります。私はあなたの添付された画像でLinuxでそれを試しました:

[...]
プロパティ:
  著者:ハンス・ミュラー
  日付:2010-12-08 09:45
  日付:作成:2010-12-08T13:15:43 + 01:00
  日付:変更:2010-12-08T13:15:43 + 01:00
  説明:昔、遠くの銀河で...
  署名:3b4a54202316a7ae4b4fe0e431d47958181f4bb893493355820d4ba74f9f5ee3
[...]

2
喜んでお手伝いします。ImageMagickスイートはもっと多くのことができるので、IMOで時間を費やす価値があります。
cYrus

FYI:これは11月、2017年の時点でアニメーションPNGファイルは検出されません、あなたは... pngcheckか何かを使用してACTLなどを探す必要があり
マイク・Q

ただし、これらのフィールドの一部は、ファイルデータに存在する実際の追加のメタデータではないことに注意してください。ファイルシステムメタデータdate:createdate:modify単に返しsignature、画像データのハッシュを計算します。
Ciro Santilli新疆改造中心法轮功六四事件

15

別のオプションは、Windows上のTweakPNGです。

Hans Müller画像に名前を表示する際に問題があることがわかります。そのため、Unicodeメタデータでは機能しない可能性があります。

TweakPNG


1
良いアイデアのように感じたので、文字列にüを追加しました。
ヨハン

2
参考までに、TweakPNGはWine内でうまく動作します。
デニルソンサマイア

素晴らしいアプリ、素敵でシンプル
-yarg

10

PNGのみのソリューションを探している場合は、以下を試してくださいpngchunks

$ sudo apt-get install pngtools
$ pngchunks UiagX.png
Chunk: Data Length 13 (max 2147483647), Type 1380206665 [IHDR]
  Critical, public, PNG 1.2 compliant, unsafe to copy
  IHDR Width: 800
  IHDR Height: 600
  IHDR Bitdepth: 8
  IHDR Colortype: 2
  IHDR Compression: 0
  IHDR Filter: 0
  IHDR Interlace: 0
  IHDR Compression algorithm is Deflate
  IHDR Filter method is type zero (None, Sub, Up, Average, Paeth)
  IHDR Interlacing is disabled
  Chunk CRC: 353637671
Chunk: Data Length 9 (max 2147483647), Type 1935231088 [pHYs]
  Ancillary, public, PNG 1.2 compliant, safe to copy
  ... Unknown chunk type
  Chunk CRC: 10132504
Chunk: Data Length 19 (max 2147483647), Type 1951942004 [tEXt]
  Ancillary, public, PNG 1.2 compliant, safe to copy
  ... Unknown chunk type
  Chunk CRC: -1325924661
Chunk: Data Length 21 (max 2147483647), Type 1951942004 [tEXt]
  Ancillary, public, PNG 1.2 compliant, safe to copy
  ... Unknown chunk type
  Chunk CRC: 134517081
Chunk: Data Length 58 (max 2147483647), Type 1951945850 [zTXt]
  Ancillary, public, PNG 1.2 compliant, safe to copy
  ... Unknown chunk type
  Chunk CRC: 1701487776
Chunk: Data Length 572939 (max 2147483647), Type 1413563465 [IDAT]
  Critical, public, PNG 1.2 compliant, unsafe to copy
  IDAT contains image data
  Chunk CRC: 1174233759
Chunk: Data Length 0 (max 2147483647), Type 1145980233 [IEND]
  Critical, public, PNG 1.2 compliant, unsafe to copy
  IEND contains no data
  Chunk CRC: -1371381630

の出力はpnginfo、使用状況に応じて詳細に表示されない場合があります。

$ pnginfo UiagX.png
UiagX.png...
  Image Width: 800 Image Length: 600
  Bitdepth (Bits/Sample): 8
  Channels (Samples/Pixel): 3
  Pixel depth (Pixel Depth): 24
  Colour Type (Photometric Interpretation): RGB 
  Image filter: Single row per byte filter 
  Interlacing: No interlacing 
  Compression Scheme: Deflate method 8, 32k window
  Resolution: 2835, 2835 (pixels per meter)
  FillOrder: msb-to-lsb
  Byte Order: Network (Big Endian)
  Number of text strings: 3 of 9
    Author (tEXt uncompressed): Hans Müller
    Date (tEXt uncompressed): 2010-12-08 09:45
    Desc (tEXt uncompressed): A long time ago in a galaxy far far away....

どこにありますpngchunksか?
イウリアンOnofrei

@IulianOnofreiが更新
malat

pngcheck解凍できるようにするには表示されませんztxtセグメント
RobM

7

Exiftool上記を見ることができません。
それは多くの画像フォーマットを行うだけでなくpng...
「プラットフォームに依存しないperlモジュール」であるだけでなく、実行可能ファイル(複数のプラットフォーム/ OSで利用可能)です。

詳細:http : //www.sno.phy.queensu.ca/~phil/exiftool/


4

別の質問で述べたようにpngcheckを使用できます。

pngcheck -c -v -t foobar.png

これらは、PNGチャンクを表示するための関連オプションです。

-7  print contents of tEXt chunks, escape chars >=128 (for 7-bit terminals)
-c  colorize output (for ANSI terminals)
-p  print contents of PLTE, tRNS, hIST, sPLT and PPLT (can be used with -q)
-t  print contents of tEXt chunks (can be used with -q)
-v  test verbosely (print most chunk data)

2
  1. コメントを追加するためにimagemagickを使用する:

    mogrify -comment "your comment" <IMAGE_NAME>
    
  2. それからそれを読み返します:

    identify -verbose <IMAGE_NAME>
    

または、コメントのみを表示する場合:

identify -verbose <IMAGE_NAME> | grep "comment:"

メタデータを適切に埋め込むことをお勧めします。


私は新しいバージョンを作成できるように変換を使用してこれを達成していましたmogrifyが、まだ感謝していませんでした! convert filename.png -set comment "That rabbits dynamite!" filename.png;
-roberthuttinger

識別は、既知のプロパティに対してのみ機能します。カスタムタグは表示されません。
TJR

1

誰かがMagick.NETを使用している場合、これらの属性をC#で次のように取得できます。

foreach(string key in image.AttributeNames)
{
    string value = image.GetAttribute(key);
}
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.