我正在尝试将已创建的JPEG重新保存为渐进式 jpg。
基本上,在前端我有一些裁剪图像的JS,并输出base64图像JPEG。将它传递给PHP脚本后,我将其创建为常规JPEG文件,如下所示:
$largeTEMP = explode(',', $_POST['large']);
$large = base64_decode($largeTEMP[1]);
file_put_contents('../../images/shows/'.$dirName.'/large.jpg', $large);
我希望这个jpg图像是渐进的,所以我环顾四周找到了PHP函数imageinterlace
;但是,我似乎无法让它发挥作用。我尝试了各种组合,但我觉得我出于某种原因会以错误的方式解决这个问题。
所以我的问题是,如何使用PHP生成的JPEG并将其转换为渐进式?或者,更好的是,在我将其保存到第一位之前,将其转换为渐进式JPEG。
答案 0 :(得分:4)
使用imagecreatefromstring
创建图像资源:
select
答案 1 :(得分:0)
尝试使用Imagick(ImageMagic包),如下所示:http://php.net/manual/en/imagick.setinterlacescheme.php
Context context = (Activity)methodHookParam.thisObject;
答案 2 :(得分:0)
$src_img = imagecreatefromjpeg('source.jpg');
imageinterlace($src_img, true);
imagejpeg($src_img, 'destination.jpg');
imagedestroy($src_img);