2011-08-05 60 views
7

我需要剪輯variablesized圖像轉換成這樣的拼圖形狀PICES(不是正方形):http://www.fernando.com.ar/jquery-puzzle/可伸縮的剪貼蒙版

我也考慮過用PHP庫像開羅或GD這樣做的posibility,但有一點沒有與這些圖書館的經驗,也沒有看到任何創新的剪報面具動態可伸縮的不同大小的圖像的靈活性。

我正在尋找使用哪種服務器端編程語言來完成此任務的指導/提示,並且最好是解決此問題的方法。

回答

0

您可以用拼圖塊的大小使用GD創建圖像。然後使用右裁剪複製該圖像上的完整圖像以獲取圖像的正確部分。

然後,你可以動態地要與不同顏色去除片的每一個部分的顏色(例如#0f0),然後使用imagecolorallocatealpha,使該顏色透明。爲每件作品做,並且你有你的服務器端圖像件。

但是,如果我在哪裏,我會創建每個拼圖平分的剪貼蒙版,並提前以不同的顏色顯示。這將使每個連接兩個圖像(一個「圓形」連接器伸出,另一個連接該圓形連接器)。這樣,您可以將這些蒙版複製到圖像上以快速創建漂亮的邊緣。

0

GD是相當複雜的,我聽說Image Magick的很好的東西,它有一個PHP版本和php.net上的大量文檔。但是,並不是所有的Web服務器都會默認安裝這個服務器。

http://www.php.net/manual/en/book.imagick.php

0

如果你選擇做什麼使用PHP與GD它那麼這裏的代碼可能會有幫助:

http://php.amnuts.com/index.php?do=view&id=15&file=class.imagemask.php

基本上你需要GD做的是開始帶着面具在然後使用imagecopyresampled函數將蒙版圖像資源複製到更大或更小的尺寸。要了解我的意思,請查看上面url中顯示的_getMaskImage方法類。輸出的工作示例可以看出:

http://php.amnuts.com/demos/image-mask/

通過GD做,據我可以告訴的問題是,你需要做一個像素在一個時間,如果你想以實現不透明度水平,因此處理大圖像可能需要幾秒鐘。有了ImageMagick,情況可能並非如此。