2011-04-25 121 views
1

我正在拍攝一張圖像,對其進行一些處理以使其成爲深藍色調,並將其設置爲頁面正文中的背景圖像。這裏的代碼工作完全按照預期:PHP處理圖像並在頁面加載時首先顯示

$image = imagecreatefromjpeg($backimage); 
imagefilter($image, IMG_FILTER_GRAYSCALE); 
imagefilter($image, IMG_FILTER_CONTRAST,40); 
imagefilter($image, IMG_FILTER_BRIGHTNESS,-80); 
imagefilter($image, IMG_FILTER_COLORIZE, 10, 0, 40); //112, 66, 20); 

麻煩的是,它需要一些時間來處理,所以整個頁面顯示沒有背景,然後在短暫的延遲之後,出現的背景圖像(至少在firefox),所以它看起來有點奇怪。我實際上更喜歡它首先加載,或者等到處理完成,然後顯示整個事情。有什麼建議?謝謝!

+0

完全按預期工作,但看起來很奇怪?似乎相當矛盾。您在生成該圖像時會執行一些相當昂貴的步驟,並且可能需要調查緩存結果,因此每次裝載頁面時都不會重新生成圖像。 – 2011-04-25 15:43:49

回答

1

麻煩的是,它需要一些時間來處理

使用緩存。每次請求時,您都不希望在圖像上運行這些效果。將結果存儲在一個靜態JPG文件中(使用第二個參數imagejpeg()),並在必要時更新。

有關如何執行此操作的更多詳細建議(通常檢查原始圖像的「上次修改時間」是正確的方式;有時候,手動觸發它就足夠了),您必須提供有關什麼的更多上下文你在做什麼,你的形象來自哪裏。

相關問題