在PHP中将JPEG转换为渐进式JPEG

我正在尝试将已创建的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;但是,我似乎无法让它发挥作用.我尝试过各种各样的组合,但我觉得我出于某种原因会以错误的方式解决这个问题.

所以我的问题是,如何使用我已生成的JPEG并使用PHP将其转换为渐进式?或者,更好的是,在我将其保存到第一位之前,将其转换为渐进式JPEG.

解决方法:

使用imagecreatefromstring创建图像资源:

$data = base64_decode($data);
$im = imagecreatefromstring($data);
if ($im === false) {
  die("imagecreatefromstring failed");
}
imageinterlace($im, true);
imagejpeg($im, 'new.jpg');
imagedestroy($im);
上一篇:u-boot include目录 gd_t结构体 如何关联芯片指定的目录


下一篇:如何在PHP中为透明PNG文件着色?