2012-07-11 21 views
1

我有一個產品搜索顯示縮略圖,並提供當前結果集的縮放視圖(1-24個結果)。在Coldfusion8中是否有一個用於創建圖像的lazyloader函數?

ColdFusion的我正在這樣做是爲了創建羅水庫和高清晰度的圖像:

<cfimage name="myImage" source="#bildpfad##bilddateiname#" action="read" /> 
    <cfif IsImage(myImage) is true> 
    <cfscript> 
     variables.breakdown = ""; 
     variables.lastcount = 0; 
    </cfscript> 
    <!--- low res ---> 
    <cfscript> 
     ImageSetAntialiasing(myImage,"on"); 
     variables.breite = ImageGetWidth(myImage); 
     variables.breite = 240; 
     ImageScaleToFit(myImage, variables.breite,""); 
    </cfscript> 
    <cfxml variable="imageXml"> 
     <cfimage action="writetobrowser" source="#myImage#" /> 
    </cfxml> 
    <cfset variables.imageSrc = imageXml.xmlRoot.xmlAttributes.src> 
    <!--- hi res ---> 
    <cfscript> 
     variables.breite = 900; 
     ImageScaleToFit(myImage, variables.breite,""); 
    </cfscript> 
    <cfxml variable="imageXmlXL"> 
     <cfimage action="writetobrowser" source="#myImage#"/> 
    </cfxml> 
    <cfset variables.imageSrcXL = imageXmlXL.xmlRoot.xmlAttributes.src> 
    <cfoutput><div class="resultsImgWrap"> 
     <a href="#variables.imageSrcXL#">#imageXml#</a></div> 
    </cfoutput> 

雖然這很好地工作在同時創建縮略圖和縮放圖像,它需要一段時間來處理..

所以我想知道在Coldfusion中是否有類似lazy-loader的函數,它會立即顯示縮略圖並在後臺創建縮放圖像。

問題:
任何想法,如果這樣的事情是可能的?或者如果有更好的辦法,我也不會介意。

感謝指針!

回答

2

您可以調整一次大小(例如在圖片上傳/添加後),並始終使用該縮略圖。這將是我的選擇。

至於延遲加載...您需要某種JavaScript插件來完成ajax圖片加載。每個img src可以是getThumnail.cfm?id=x&w=200&h=200之類的東西。您還可以在CF側緩存調整大小的縮略圖。

+0

儘管大多數圖像都在外部服務器(客戶端)上,並且在搜索加載時拉入,所以我需要在運行時執行此操作。否則你的解決方案聽起來不錯 – frequent 2012-07-11 21:48:51

+0

亨利 - 你不想隨時隨地調整大小 - cfimage是一個昂貴的標籤,所有版本的Java圖像處理都是如此。一旦圖像被調整大小,您應該將其存儲爲拇指文件並從磁盤重新使用它。這是我的看法:) – 2012-07-12 13:17:31

相關問題