当图像上传到我的网站时,我使用gd lib将所有图像转换为jpgs:
$image = imagecreatefrompng($img);
$outputFile = str_replace('png', 'jpg', $img);
unlink($img);
imagejpeg($image, $outputFile, $quality);
imagedestroy($image);
这完全正常,直到我需要复制图像进行裁剪。它在imagecreatefromjpeg()
使用getimagesize($outputFile)
查看图像详细信息我可以看到即使我已成功将png或gif转换为jpg,并且它具有jpg文件扩展名,mime类型仍然是image / png或image / GIF。
例如:
Array
(
[0] => 250
[1] => 188
[2] => 3
[3] => width="250" height="188"
[bits] => 8
[mime] => image/png
)
当我转换为jpg时,如何更改mime类型呢?或者我可以做些什么来阻止它在我需要对图像执行某些操作时失败,例如复制它或使用imagecreatefromjpeg()
调整其大小以进行裁剪?
答案 0 :(得分:0)
你只能在jpg图像上使用imagecreatefromjpeg() 在上面的示例中,要检查创建的输出文件,您必须将代码更改为
<?php... getimagesize($outputFile); .... ?>
$ img包含您的源文件路径....如果你想从png图像制作一个jpeg副本,imagecreatefrompng(...)然后用imgejpeg(...)输出它就可以了...