QImage.setText (…) 및 QImage.text (…)를 사용하여 png 메타 데이터를 추가하고 읽는 간단한 Qt 기반 응용 프로그램을 만들 수 있다는 것을 알고 있습니다. 그런 다음 pngmeta라는 Linux 명령으로 해당 메타 데이터를 읽을 수 있습니다.
그러나 png 메타 데이터를 읽는 데 사용할 수있는 다른 이미지 소프트웨어는 무엇입니까?
공통 플랫폼 용 이미지 프로그램을 찾고 있으므로 애플리케이션이 Windows 용인지 Linux 용인지 지정하십시오.
질문을 명확하게하기 위해 테스트 메타 데이터가 첨부 된 img를 첨부했습니다.
감사합니다 요한
연결:
답변
사용 ImageMagick
:
identify -verbose image.png
ImageMagick
크로스 플랫폼이어야합니다. 첨부 된 이미지로 Linux에서 시도했습니다.
[...] 속성 : 저자 : 한스 ler 러 날짜 : 2010-12-08 09:45 날짜 : 작성 : 2010-12-08T13 : 15 : 43 + 01 : 00 날짜 : 수정 : 2010-12-08T13 : 15 : 43 + 01 : 00 설명 : 오래 전에 멀리 떨어진 은하계에서 .... 서명 : 3b4a54202316a7ae4b4fe0e431d47958181f4bb893493355820d4ba74f9f5ee3 [...]
답변
다른 옵션은 Windows의 TweakPNG 입니다.
Hans Müller
이미지에 이름을 표시하는 데 문제가 있음을 알 수 있으므로 유니 코드 메타 데이터에서는 작동하지 않을 수 있습니다.
답변
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....
답변
Exiftool
위에서 언급 한 것을 볼 수 없습니다 .
그것은뿐만 아니라, 다양한 이미지 포맷을하지 png
…
그것은 “플랫폼 독립적 인 펄 모듈”뿐만 아니라 (여러 플랫폼 / OS 가능) 실행입니다.
답변
다른 질문에서 언급했듯이 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)
답변
-
주석 추가에 imagemagick 사용 :
mogrify -comment "your comment" <IMAGE_NAME>
-
그런 다음 다시 읽으십시오.
identify -verbose <IMAGE_NAME>
또는 주석 만 보려면 다음을 수행하십시오.
identify -verbose <IMAGE_NAME> | grep "comment:"
메타 데이터를 올바르게 포함시키는 것이 좋습니다.
답변
누군가 Magick.NET을 사용하는 경우 C #에서 다음과 같은 속성을 얻을 수 있습니다.
foreach(string key in image.AttributeNames)
{
string value = image.GetAttribute(key);
}