2012-01-26 34 views

回答

1

針對每個圖像創建邊界內,例如將Rect設置爲每個圖像的線(位置&大小)。在重寫onDraw()的視圖中,將onTouchListener設置爲視圖本身。

在onTouch()中檢查event.getX()/ getY()是否在白色圖像的範圍內。然後使用whiteImage.setPixel()設置位圖圖像的各個像素。或者使用Canvas.drawPoint()來代替自己處理白色位圖圖像。

關於不顯示紅色的矩形...只是不畫它?

編輯: 關於非正方形/矩形形狀的評論。我仍然會檢查矩形中的觸摸事件,然後將它傳遞給圖像(如果它已經達到了形狀)。你可以做Bitmap.getPixel(x,y),看看它是否爲Color.White ==,如果它是..把它改成任何顏色!

+0

有關如何繪製到Android Canvas的詳細信息,請訪問http://developer.android.com/guide/topics/graphics/2d-graphics.html#shape-drawable。 – Ally

+0

我不知道事先將圖像形成的形狀可能是一個矩形,如星形或不規則形狀。 – user1169390

+0

看我的編輯:)我已經包括了你將如何做不規則的形狀。繼續使用矩形來提高性能,你不需要像素檢查一直。首先是簡單的界限,然後單個像素的像素 – Micky