php - 在PHP中将JPEG转换为渐进JPEG

标签 php gd

我正在尝试将已创建的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。

最佳答案

使用 imagecreatefromstring 创建图像资源:

$data = base64_decode($data);
$im = imagecreatefromstring($data);
if ($im === false) {
  die("imagecreatefromstring failed");
}
imageinterlace($im, true);
imagejpeg($im, 'new.jpg');
imagedestroy($im);

关于php - 在PHP中将JPEG转换为渐进JPEG,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41732652/

相关文章:

php - 即使浏览器的当前网址已更改,如何创建不可更改的 html 部分?

PHP 电子邮件导入程序(来自 CSV、Gmail、Outlook 等)

javascript - Jquery/Javascript : How to prevent time limit reset when refresh?

php - mysql从3行中选择关键字

php - 使用 PHP GD 在图像上居中文本

c# - winform进度条中的动画条

php - 在 PHP 中屏蔽和分层图像

php - 如何在wordpress中制作可见菜单

perl - 如何摆脱 Perl 的 GD::Graph 中的饼图轮廓?

php - 为什么即使我设置了 alpha 混合设置,GIF 图像也会失去 imagegif() 的透明度?