2012-12-10 82 views
0

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

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

,并在我的resize.php我需要转换test.jpg放在是$图像的ressource的imagejpeg()与我可以设置图像质量。 我如何进行转换?也会

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

结果显示使用上面的html代码片段的图像?

回答

2

你需要编写调整大小常规,然后把它保存在用户的网络accessable。而且,我会在第一次调整文件大小时缓存文件,这样您就不必在每次加载页面时调整它的大小。

1

两种反对意见:

  • imgsrc需要一个URL,而不是图像本身(实际上,可以是一个传输数据的URL,但这是错的尤其是当试图压缩)

  • 为什么重新呈现每次击球的图像?这将会非常缓慢和低效。只需预渲染它们并根据用户的规格选择其中一种变体。

如果你仍然想调整上的苍蝇,然后有一个脚本resize.php或类似的将输出给定大小的图像。该脚本必须设置正确的Content-Type标题(例如image/jpg)。然后用这个作为一个标签:

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

(注:没有PHP代码,这只是一个链接!)