日期:2014-05-17  浏览次数:20447 次

网站上能动态调用不同尺寸的图片吗
页面上可能在不同位置,需要不同尺寸的图片

比如发表了一篇文章,上传标题图片,生成了一张原图580*700的和一个宿略图100*100的

如果我要在首页调用这个图片,尺寸是200*240的,怎么办, 是对580*700的原图限定width为200吗?(加载原图影响性能吧)

还是上传图片时,把需要的尺寸图全部上传上去(这样也不太好吧,比如我在首页或其它页面使用的尺寸都不同,岂不是要上传很多的不同尺寸的图片)

有没有什么好的解决方案

------解决方案--------------------
引用:
Quote: 引用:

页面上可能在不同位置,需要不同尺寸的图片

比如发表了一篇文章,上传标题图片,生成了一张原图580*700的和一个宿略图100*100的

如果我要在首页调用这个图片,尺寸是200*240的,怎么办, 是对580*700的原图限定width为200吗?(加载原图影响性能吧)

还是上传图片时,把需要的尺寸图全部上传上去(这样也不太好吧,比如我在首页或其它页面使用的尺寸都不同,岂不是要上传很多的不同尺寸的图片)

有没有什么好的解决方案

数据库结构怎么设计?有七个不同的尺寸标题图,建七个字段存放吗?


我举个例子

比如图片123.jpg

数据库存123.jpg

七张大小不同的图片是 a_123.jpg   b_123.jpg ... 

数据库里只存一条..... 程序调用的时候加上尺寸对应的前缀即可.
------解决方案--------------------
我的做法是用php動態產生各種尺寸的圖片,例如
<img src="img.php?src=a.jpg&width=100&height=200"...
<img src="img.php?src=a.jpg&width=200&height=200"...
<img src="img.php?src=a.jpg&width=300&height=200"...

我這個a.jpg就是原圖,每次用戶在請求的時候傳遞不同的尺寸到服務器,服務器則會調用img.php動態調整原圖為客戶要求的尺寸,調整完畢之後直接輸出到客戶端,這個動態輸出的圖片並未被直接存儲到服務器上,這種做法的好處是不用存儲多個圖片,也不擔心流量問題,但是他會佔用服務器的cpu處理能力.