주석이 포함된 PPM 파일 X.ppm이 있습니다.
xxd X.ppm|head -10
0000000: 5036 0a23 206d 6967 6874 796d 616e 6465 P6.# mightymande
0000010: 6c20 2d32 2e38 3034 3132 3232 3037 3833 l -2.80412220783
0000020: 3834 3132 3833 3535 3139 3235 652d 3032 841283551925e-02
0000030: 202b 2036 2e39 3438 3932 3238 3438 3134 + 6.94892284814
0000040: 3730 3430 3430 3831 3238 3631 652d 3031 704040812861e-01
0000050: 2069 2040 2034 2e34 3430 3839 3230 3938 i @ 4.440892098
0000060: 3530 3036 3237 3165 2d31 360a 3132 3830 5006271e-16.1280
0000070: 2037 3230 0a32 3535 0aff ffff ffff ffff 720.255........
0000080: ffff ffff ffff ffff ffff ffff ffff fefe ................
0000090: fefc fcfc f8f8 f8e8 e8e8 4141 4140 4040 ..........AAA@@@
사용하여 만들어졌습니다.C 코드:
void record_write(FILE *out, unsigned char *buffer, int width, int height, mpfr_t centerx, mpfr_t centery, mpfr_t radius) {
fprintf(out, "P6\n");
mpfr_fprintf(out, "# mightymandel %Re + %Re i @ %Re\n", centerx, centery, radius);
fprintf(out, "%d %d\n255\n", width, height);
fflush(out);
for (int y = height - 1; y >= 0; --y) {
fwrite(buffer + y * width * 3, width * 3, 1, out);
}
fflush(out);
}
png로 변환할 수 있습니다.
xxd X.png|head -10
0000000: 8950 4e47 0d0a 1a0a 0000 000d 4948 4452 .PNG........IHDR
0000010: 0000 0500 0000 02d0 0802 0000 0137 187a .............7.z
0000020: 9700 0000 5f74 4558 7454 6974 6c65 002d ...._tEXtTitle.-
0000030: 322e 3830 3431 3232 3230 3738 3338 3431 2.80412220783841
0000040: 3238 3335 3531 3932 3565 2d30 3220 2b20 283551925e-02 +
0000050: 362e 3934 3839 3232 3834 3831 3437 3034 6.94892284814704
0000060: 3034 3038 3132 3836 3165 2d30 3120 6920 040812861e-01 i
0000070: 4020 342e 3434 3038 3932 3039 3835 3030 @ 4.440892098500
0000080: 3632 3731 652d 3136 aba5 7721 0000 0015 6271e-16..w!....
0000090: 7445 5874 536f 6674 7761 7265 006d 6967 tEXtSoftware.mig
그러나 여기에는 주석도 포함되어 있습니다.
- 이는 EXIF가 아닙니다(그리고 eviv2 라이브러리는ppm을 지원하지 않습니다 ).
- Gimp는 또한ppm이나 png 파일에 대한 설명을 표시하지 않습니다(왜?)
- -verbose X.ppm 표시 주석 인식
PPM 파일에서 주석을 추출하려면 어떤 프로그램을 사용해야 합니까?
답변1
이미지 매직을 사용하세요:
identify -format "%c" X.ppm
헤더와 테일을 사용하세요(프로그램 mightymandel에서클로드 하이랜드-앨런
head -n 2 1.ppm | tail -n 1