当用户使用某个浏览器,操作系统或屏幕大小(用于区分移动设备和桌面用户)时,我想动态减少jpeg的图像大小(和质量)。我该怎么做呢? 我想帽子我会调用一个可以返回图像的脚本,例如。
<img src="<?resize.php?file=test.jpg&quality=75?>"
在我的resize.php中,我需要将test.jpg转换为imagejpeg()的 $ image 资源,我可以使用它来设置图像质量。 我该如何进行转换?也会
echo imagejpeg($img,NULL,$quality);
导致使用上面的html片段显示图片?
答案 0 :(得分:2)
您需要编写调整大小例程,然后将其保存为可访问的Web。我会在你第一次调整文件大小时缓存该文件,这样你就不必在每次有人加载页面时调整它的大小。
答案 1 :(得分:1)
两个反对意见:
img
src
需要一个网址,而不是一个图片本身(实际上,可以是一个数据网址,但在尝试压缩时尤其如此)
为什么要为每次点击重新渲染图片?这将是非常缓慢和低效的。只需预先渲染它们,然后根据用户的规格选择其中一种变体。
如果您仍想动态调整大小,请使用脚本resize.php
或类似的输出给定大小的图像。对于您的示例,脚本必须设置正确的Content-Type
标题(image/jpg
)。然后将其用作标记:
<img src="resize.php?file=test.jpg&quality=75">
(注意:没有PHP标签,这只是一个链接!)