2012-03-14 52 views
3

我正在處理其中一個我想使用畫布的一部分作爲位圖的東西捕獲畫布的局部部分以將其用作位圖

。這裏我已經附上了圖片。 我想要一個矩形的位圖核心(它有鸛)

這裏是我的程序算法。

1:創建一個畫布。

2:在畫布上繪製顏色選擇器。 3:在畫布上畫一個矩形。

現在我想用這個矩形作爲位圖..

那麼有沒有捕捉到用帆布位圖任何方式? (我聽說畫面類捕捉畫布,我不知道它與這種情況有關)

enter image here

+0

爲什麼不先在位圖上繪製所有內容,然後將該位圖繪製到畫布上,然後就可以從原始位圖中剪切矩形。 – onit 2012-03-14 13:43:08

回答

8

所有畫布都是位圖的包裝,可以顯示有用的繪圖功能。因此,您可以使用位圖創建畫布,然後在該位圖上調用createBitmap()以獲取小矩形。以下是代碼的概要。

Bitmap bitmap = Bitmap.createBitmap(/*screen width*/, /*screen height*/); 
Canvas canvas = new Canvas(bitmap); 
// . . . 
// Draw color picker 
// . . . 
Bitmap selectedRectangle = Bitmap.createBitmap(bitmap, /*x*/, /*y*/, /*rectWidth*/, /*rectHeight*/); 
+0

但是,您創建的矩形是位圖本身的座標系統,而不是在畫布或屏幕上繪製的原始位圖的部分,對不對?例如:如果縮小原始位圖(通過scaledetector),然後嘗試獲取位圖的一部分,是否與我們在屏幕上看到的原始位圖協調或縮放協調一致? – 2012-07-13 18:23:37