2010-01-10 93 views
0

我需要建立一個PHP照片處理類,我知道有很多已經存在的公衆,但我需要建立一個做我所需要做的事情,沒有什麼額外的,沒有少。在PHP中的圖像處理類

我需要我的類來做到這一點...

1)
創建我的類的一個新實例,我通過在任何一個照片的URL,或指向本地照片使用POST表單上傳。

2)
然後我需要在主圖像和檢查它的尺寸,如果是寬800個像素,我需要調整它,如果它不是更寬然後是800然後我就離開它

3)
我們現在需要從這一形象建立2個不同大小的縮略圖,如果我們調整的圖像,以滿足我們的800像素的要求,那麼我們使用的圖像,使其從縮略圖,否則我們使我們的縮略圖從原始圖像。

4)
然後,我們更新了幾個數據庫中的記錄

然後完成。

我知道這並不困難,但我需要以最佳性能爲基礎進行構建,例如,如果用戶上傳了2mb照片,我不想佔用內存,並且不保留該照片的縮略圖if我們已經制作了一個較小的圖像,我認爲它應該使用較小的圖像來構建縮略圖。

現在所有這些信息,你有任何建議,如何在GD或imagemagick做到這一點。如果我製作縮略圖的方法,我應該如何確保它能夠繼續使用較小的圖像來製作其他較小的圖像?我已經看過一些現有的圖像類,它們都非常複雜並且過度完成了IMO,但是沒有一個完成這個簡單的任務。

+0

那麼,你已經概述了你的問題的程序流程。您只需在ImageMagick或GD中找到這些功能並創建一個Thumbnailer服務類。 – Gordon 2010-01-11 00:17:28

回答

0

PHP GD庫使用資源對象來表示圖像。您可以使用imagecopyresampledimagecopyresized來調整圖像大小。

如果已調整大小,請將新的調整大小的圖像對象用於將來的操作,否則使用原始資源對象。