我正在尝试将已经创建的 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);
Run Code Online (Sandbox Code Playgroud)
我希望这个 jpg 图像是渐进式的,所以我环顾四周并找到了 PHP 函数imageinterlace;但是,我似乎无法让它发挥作用。我尝试了各种组合,但我觉得由于某种原因我以错误的方式处理这个问题。
所以我的问题是,如何使用 PHP 将我已经生成的 JPEG 转换为渐进式?或者,更好的是,在我什至首先保存它之前,将其转换为渐进式 JPEG。
我一直在阅读使用dns-prefetch和preconnect的内容。显然应该使用它们,因为一点点帮助。
dns-prefetch在跨浏览器中的支持比预连接更好。所以我的问题是,如果浏览器不支持预连接,它会退回到dns-prefetch吗?我的想法是preconnect基本上是dns-prefetch加上一些额外的调味料(tls协商,没有)。但是我也可以看到情况并非如此。
接下来,如果我要进行预连接,但要确保dns-prefetch至少可以正常工作,我是否应同时包括两者?那是最优的吗?