【问题标题】:Create multiple types of images using image functions使用图像函数创建多种类型的图像
【发布时间】:2018-07-11 16:07:59
【问题描述】:
<?php

$targ_w = $_POST['targ_w'];
$targ_h = $_POST['targ_h'];
$jpeg_quality = 90;
$src = $_POST['photo_url'];

// create new jpeg image based on the target sizes
$img_r = imagecreatefromjpeg($src);
$dst_r = ImageCreateTrueColor( $targ_w, $targ_h );

imagecopyresampled($dst_r,$img_r,0,0,$_POST['x'],$_POST['y'], $targ_w,$targ_h,$_POST['w'],$_POST['h']);
imagejpeg($dst_r,$src,$jpeg_quality);

// display the  photo - "?time()" to force refresh by the browser
echo '<img src="'.$src.'?'.time().'">';

exit;
?>

我正在制作图像裁剪代码并使用上述代码保存裁剪后的图像。我可以使用imagecreatefromjpeg 裁剪和保存 jpg 文件,并将函数更改为imagecreatefrompng 我可以裁剪 png 文件请帮助我一次使用此代码验证或保存多种类型的图像 谢谢!

【问题讨论】:

  • 查看exif_imagetype,然后创建一个基本分支来处理适当的图像类型。

标签: php gd


【解决方案1】:
$src = $_POST['photo_url'];

$what = getimagesize($src);
switch(strtolower($what['mime']))
{
    case 'image/png':
        $img_r = imagecreatefrompng($src);
        $source_image = imagecreatefrompng($src);
        $type = '.png';
        break;
    case 'image/jpeg':
        $img_r = imagecreatefromjpeg($src);
        $source_image = imagecreatefromjpeg($src);
        error_log("jpg");
        $type = '.jpeg';
        break;
    case 'image/gif':
        $img_r = imagecreatefromgif($src);
        $source_image = imagecreatefromgif($src);
        $type = '.gif';
        break;
    default: die('image type not supported');
}

感谢这是有效的任何类型图像所需的代码

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-10-18
    • 2018-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-11
    • 2012-12-17
    相关资源
    最近更新 更多