61 votes

Quel logiciel puis-je utiliser pour lire les métadonnées en png ?

Je sais que je peux créer une petite application simple basée sur Qt qui ajoute et lit les données de l'utilisateur. métadonnées png, en utilisant les fonctions QImage.setText(...) et QImage.text(...). Ces métadonnées peuvent ensuite être lues avec une commande linux appelée pngmeta.

Mais quel autre logiciel d'image puis-je utiliser pour lire les métadonnées png ?

Veuillez noter que je recherche des programmes d'images pour les plateformes courantes, donc veuillez préciser si votre application est pour Windows ou Linux.

Pour rendre la question plus claire, j'ai joint une image à laquelle sont attachées des métadonnées de test.

The img with meta data

Merci Johan


Liens :

86voto

cYrus Points 20338

Utilisation de ImageMagick :

identify -verbose image.png

ImageMagick doit être multiplateforme. Je l'ai essayé sur Linux avec votre image jointe :

\[...\]
Properties:
  Author: Hans Müller
  Date: 2010-12-08 09:45
  date:create: 2010-12-08T13:15:43+01:00
  date:modify: 2010-12-08T13:15:43+01:00
  Desc: A long time ago in a galaxy far far away....
  signature: 3b4a54202316a7ae4b4fe0e431d47958181f4bb893493355820d4ba74f9f5ee3
\[...\]

19voto

paradroid Points 22121

Une autre option est TweakPNG sous Windows.

Je peux voir qu'il y a des problèmes d'affichage de l'image. Hans Müller dans votre image, donc peut-être que cela ne fonctionne pas avec les métadonnées Unicode.

TweakPNG

11voto

malat Points 1149

Si vous cherchez une solution uniquement en PNG, essayez 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

La sortie de pnginfo peut ne pas être assez verbeux pour votre usage :

$ 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....

8voto

Hannu Points 7619

Je ne peux pas voir Exiftool mentionné ci-dessus.
Il prend en charge de nombreux formats d'images, et pas seulement png ...
C'est un "module perl indépendant de la plateforme", mais aussi un exécutable (disponible pour plusieurs plateformes/OS).

Plus d'informations : http://www.sno.phy.queensu.ca/~phil/exiftool/

4voto

Denilson Sá Maia Points 11713

Comme indiqué dans une autre question vous pouvez utiliser vérification des pngs :

pngcheck -c -v -t foobar.png

Ce sont les options pertinentes pour l'affichage des morceaux 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)

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X