GD - 从imagecreatefromstring()获取正确的输出函数

时间:2013-06-26 00:30:24

标签: php gd

我已经通过imagecreatefromstring()阅读了我的图片路径,对其进行了处理,但现在我需要输出它,这就是我被卡住的地方。

$imgpath = "test.jpg"; //Testing
$img = imagecreatefromstring(file_get_contents($imgpath));

//Do stuff to $img

imagejpeg($img);
imagedestroy($img);

这会将图像(无论何种类型)加载到$img资源变量中。但是,我目前只使用imagejpeg()输出图像,如果源($imgpath)是jpeg,则可以正常工作。但是,如果我将imagejpeg更改为imagepng,则服务器必须将jpeg转换为png,这在图像加载时非常明显。

由于我永远不会确切地知道通过该函数输入的图像类型,我如何判断它是什么类型的图像并相应地对输出进行操作?我试图避免文件名检查方法,但是如果GD无法返回它正在使用的图像类型,我似乎必须采用这种方式。

谢谢!

1 个答案:

答案 0 :(得分:1)

您可以使用getimagesize()php函数来查看您正在处理的图像类型,并相应地使用基于它的正确方法。 http://php.net/manual/en/function.getimagesize.php