我有一个调整大小的功能,它的主要工作是正确的,但不保存
原始图像文件附带的 exif 数据。一切似乎都是
正确,直到我调用 ->writeImage();
函数,这似乎剥离了 exif
图像的数据。
$resizeimage= new Imagick($image);
$exifDataArray = $resizeimage->getImageProperties("exif:*");
$resizeimage->thumbnailImage($width,$height);
$resizeimage->setImageCompression(imagick::COMPRESSION_JPEG);
$resizeimage->setImageCompressionQuality(90);
echo $resizeimage->setImageProperty('Exif:Make', 'BLABLABLA');
$resizeimage->writeImage();
$updated= new Imagick($image);
echo $updated->getImageProperty('Exif:Make');
请注意,如果我
print_r($exifDataArray);
它显示了 exif 数据为了进行更改,我输入了 'Exif:Make', 'BLABLABLA' 并查看是否
新的exif数据写入图像,并且写入正确
但在我
resizeimage->writeImage();
之后图像文件中不再存在 exif 数据。
有人可以帮忙吗?有没有办法将exif数据保留在图像上?
最佳答案
似乎错误不存在 for the first time 。
我目前使用的解决方法:
exiftool -overwrite_original_in_place -tagsFromFile $source_file $converted_file
关于resize - ImageMagick 保留 Exif 数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22534752/