我的图片有没有EXIF信息,这个模块看不懂?
嗯,这就是消息所说的,所以我想是的。
查看源代码,该模块可以识别许多制造商的制造商注释,因此更具体地说是以下之一:
- 它是模块无法识别的制造商特定格式的信息,或者
- 在制造商注释标记之前没有遇到制造商标记来指示制造商注释字段的格式。
但我想理解并且最好不要创建此消息
- 在 Image::EXIF 中添加对该制作者的制作者注释的支持,
- 向 Image::EXIF 添加配置选项以使此警告静音,或者
- 从您的图像中删除制造商注释。
一些相关代码:
struct makerfun makers[] = {
{ 0, "unknown", NULL, NULL }, /* default value */
{ EXIF_MKR_CANON, "canon", canon_prop, canon_ifd },
{ EXIF_MKR_OLYMPUS, "olympus", olympus_prop, olympus_ifd },
{ EXIF_MKR_FUJI, "fujifilm", fuji_prop, fuji_ifd },
{ EXIF_MKR_NIKON, "nikon", nikon_prop, nikon_ifd },
{ EXIF_MKR_CASIO, "casio", NULL, casio_ifd },
{ EXIF_MKR_MINOLTA, "minolta", minolta_prop, minolta_ifd },
{ EXIF_MKR_SANYO, "sanyo", sanyo_prop, sanyo_ifd },
{ EXIF_MKR_ASAHI, "asahi", asahi_prop, asahi_ifd },
{ EXIF_MKR_PENTAX, "pentax", asahi_prop, asahi_ifd },
{ EXIF_MKR_LEICA, "leica", leica_prop, leica_ifd },
{ EXIF_MKR_PANASONIC, "panasonic", panasonic_prop, panasonic_ifd },
{ EXIF_MKR_SIGMA, "sigma", sigma_prop, sigma_ifd },
{ EXIF_MKR_UNKNOWN, "unknown", NULL, NULL },
};
...
/*
* Try to process maker note IFDs using the function
* specified for the maker.
*
* XXX Note that for this to work right, we have to see
* the manufacturer tag first to figure out makerifd().
*/
if (makers[t->mkrval].ifdfun) {
if (!offsanity(prop, 1, dir))
dir->next =
makers[t->mkrval].ifdfun(prop->value, md);
} else
exifwarn("maker note not supported");