图片格式转换PHP代码
原创
52cxy
11-25 15:57
阅读数:448
PHP实现图片格式转换,代码如下:
**
* 图片格式转换
* @param string $src 原图片完整路径
* @param string $dstType 目标图片格式
* @param string $quality 图片压缩质量
* @return 0|1 成功返回0 失败返回1
*/
function convertImageFormat($src, $dstType, $quality=85)
{
$path = '';
$info = pathinfo($src);
$srcType = $info['extension'];
if($srcType == $dstType) return 1;
if(!in_array($dstType, array('png', 'jpg','gif', 'bmg', 'webp'))) return 1;
$pos = strrpos($src, '/');
if($pos !== false) $path = substr($src, 0, $pos+1) ;
$dstPath = $path . $info['filename'] . '.' . $dstType;
if($srcType == 'png')$imgData = imagecreatefromgif($src);
elseif($srcType == 'jpg') $imgData = imagecreatefromjpeg($src);
elseif($srcType == 'gif') $imgData = imagecreatefromgif($src);
elseif($srcType == 'bmp') $imgData = imagecreatefrombmp($src);
elseif($srcType == 'webp') $imgData = imagecreatefromwebp($src);
else return 1;
if($dstType == 'png') ImagePNG($imgData, $dstPath);
elseif($dstType == 'jpg') imagejpeg($imgData, $dstPath, $quality);
elseif($dstType == 'gif') imagegif($imgData, $dstPath);
elseif($dstType == 'bmp') imagebmp($imgData, $dstPath, $quality);
elseif($dstType == 'webp') imagewebp($imgData, $dstPath, $quality);
return 0;
}测试代码:
convertImageFormat('sample.gif', 'jpg', 85);共0条评论