我有一个调整大小的功能,它的主要工作是正确的,但不保存
原始图像文件附带的 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/

10-12 20:32