使用php“动态”减少jpeg文件大小

时间:2012-12-10 00:21:53

标签: php html jpeg

当用户使用某个浏览器,操作系统或屏幕大小(用于区分移动设备和桌面用户)时,我想动态减少jpeg的图像大小(和质量)。我该怎么做呢? 我想帽子我会调用一个可以返回图像的脚本,例如。

<img src="<?resize.php?file=test.jpg&quality=75?>" 

在我的resize.php中,我需要将test.jpg转换为imagejpeg()的 $ image 资源,我可以使用它来设置图像质量。 我该如何进行转换?也会

echo imagejpeg($img,NULL,$quality);

导致使用上面的html片段显示图片?

2 个答案:

答案 0 :(得分:2)

您需要编写调整大小例程,然后将其保存为可访问的Web。我会在你第一次调整文件大小时缓存该文件,这样你就不必在每次有人加载页面时调整它的大小。

答案 1 :(得分:1)

两个反对意见:

  • img src需要一个网址,而不是一个图片本身(实际上,可以是一个数据网址,但在尝试压缩时尤其如此)

  • 为什么要为每次点击重新渲染图片?这将是非常缓慢和低效的。只需预先渲染它们,然后根据用户的规格选择其中一种变体。

如果您仍想动态调整大小,请使用脚本resize.php或类似的输出给定大小的图像。对于您的示例,脚本必须设置正确的Content-Type标题(image/jpg)。然后将其用作标记:

<img src="resize.php?file=test.jpg&quality=75">

(注意:没有PHP标签,这只是一个链接!)