我需要显示modyfied图像,我有两个选项,因为我看到它 创建已修改的临时图像然后将其删除 或者动态创建图像并使用passthru显示它 例如:
$photo="foo.jpg";
$THUMB_SZ = 125;
$THUMB_PRESZ = $THUMB_SZ * 2;
$QUALITY = 87;
$convert = "/usr/bin/convert";
$command = "$convert -size $THUMB_PRESZ".'x'."$THUMB_PRESZ \"$photo\"" .
" -thumbnail $THUMB_SZ".'x'."$THUMB_SZ" .
" -unsharp 0.2x0.6+1.0" .
" -quality $QUALITY JPG:-";
header("Content-type: image/jpeg");
passthru($command, $retval);
and then in the html part <img src="foo.php">
答案 0 :(得分:2)
如果您需要多次创建图像,那么我建议您在磁盘上创建文件,原因有两个
如果你真的只需要展示一次,那么你可以使用passthrough(或者,如果你对性能感兴趣,使用PHP Imagick绑定,它比使用imagick更快,更清洁和更安全)命令行)。
答案 1 :(得分:0)
如果您不需要保留修改后的图像,那么使用passthru会保存磁盘写入和删除。你的应用可能不是速度敏感的。
答案 2 :(得分:0)
如果我真的关心性能,我会避免选择passthru。每次用户请求图像时,它将不必要地执行外部命令。如果您使用临时图像,并将img src引用更改为临时图像,则只有Web服务器将检索图像并将其发送给用户,不会涉及PHP或转换。当然,我假设图像不经常更改。