Imagecreatefromstring and resize



>我正在尝试从数据库获取图像并在客户端接收图像之前调整其大小。这工作正常,但自然图像是完全大小的:

$im = imagecreatefromstring($data);
    if ($im !== false) {
        header('Content-Type: image/jpeg');
        imagejpeg($im);
        imagedestroy($im);
    }

所以我试过这个:

$im = imagecreatefromstring($data);
        if ($im !== false) {
            header('Content-Type: image/jpeg');
            $percent = 0.5;
            $width = imagesx($im);
            $height = imagesy($im);
            $newwidth = $width * $percent;
            $newheight = $height * $percent;
            $img = imagecreatetruecolor($new_w,$new_h);
            imagecopyresized($img,$im,0,0,0,0,$new_w,$new_h,$width,$height);
            imagejpeg($im);
            imagedestroy($im);
        }

但是浏览器返回一个错误,指出"由于包含错误,无法显示图像"。

对不起我的英语。

代码中存在一些错误:1(你应该$img返回,而不是$im...

        imagejpeg($im);
        imagedestroy($im);

2( 您定义了 $newwidth 和 $newheight,但在以下代码中您使用了 $new_w、$new_h。

正确的代码:

$im = imagecreatefromstring($data);
    if ($im !== false) {
        header('Content-Type: image/jpeg');
        $percent = 0.5;
        $width = imagesx($im);
        $height = imagesy($im);
        $newwidth = $width * $percent;
        $newheight = $height * $percent;
        $img = imagecreatetruecolor($newwidth,$newheight);
        imagecopyresized($img,$im,0,0,0,0,$newwidth,$newheight,$width,$height);
        imagejpeg($img);
        imagedestroy($img);
    }

尝试更改以下内容:

$img = imagecreatetruecolor($new_w,$new_h);
            imagecopyresized($img,$im,0,0,0,0,$new_w,$new_h,$width,$height);

进入这个:

$img = imagecreatetruecolor($newwidth,$newheight);
            imagecopyresized($img,$im,0,0,0,0,$newwidth,$newheight,$width,$height);

相关内容

  • 没有找到相关文章

最新更新