2015-12-28 20 views
1

我正在嘗試使用Codename1動態旋轉矩形圖像。雖然這可以工作(使用圖像旋轉方法),但由於畫布大小不會增加,也不會旋轉以包含新的圖像方向,因此圖像會被裁剪。如何使用代碼名稱更改圖像的畫布大小

是否有一種快速方法可以在CN1內增加圖像的畫布大小(並使圖像居中)?或者,任何人都可以想出另一種方法來處理必須由應用程序操縱的圖像嗎?我的想法是:1)增加畫布大小以便能夠保存圖像的新維度; 2)使用rotate()方法旋轉圖像(可選但也有幫助); 3)剪裁浪費的畫布空間。

高效/快速是必須的。

謝謝!

+1

如果我理解正確的圖像類,並獲得能力的圖形從一個Image對象,我*想*我可以通過創建一個「空白」的形象,是「後旋轉」的大小,檢索做到這一點圖形對象,然後在其上繪製原始圖像。然後畫布應該足夠大以容納旋轉的圖像。這就是我要嘗試的。 –

回答

0

與可變圖像時不一定快在所有平臺上,所以如果這是你想要使用旋轉在運行時做()變換上Graphics實際上可能會更快一些。

你似乎在尋找的是Image.rotate90Degrees(boolean),Image.rotate180Degrees(boolean),Image.rotate270Degrees(boolean)

這些方法也會相應地將圖像的尺寸更改爲旋轉並生成結果的編碼圖像。他們的工作通在默認情況下移動的RGB值所以它不一定是最快的方法是有的,但如果你是做圖像處理應該是合理的。