2012-09-28 131 views
7

我有一個Canvas對象在開始。我需要根據當前的顏色改變一些像素的顏色。我該如何以正確的方式做到這一點?Android canvas改變一些像素顏色

詳情:

我有我自己的類從ImageView延長。在onDraw(Canvas canvas)方法中,我繪製了第三方類的東西,結果只有Canvas對象。我需要根據當前的顏色改變一些像素的顏色。

+0

你需要遍歷每個像素,獲取其當前顏色,並設置其新顏色。 – user1706950

+0

我知道了,怎麼樣? :)對於繪圖我可以使用'canvas.drawPoint(x,y,paint)',但是如何獲得像素的顏色? –

+0

順便說一句,我需要適當的解決方案,我的意思是高效和最快。 –

回答

3

假設您已經android.graphics.Canvas對象調用canvasX & Y是要改變像素,所以在這裏你去點

電話:

canvas.drawPoint(X, Y, paint); 

這裏是你如何initalize類對象android.graphics.Paint ie油漆

Paint paint = new Paint(); 
paint.setStyle(Paint.Style.FILL); 
paint.setColor(Color.WHITE); 

搜索此Link的更多信息可在不同位置更改多個像素,但有許多功能可幫助您實現所需功能。祝你好運:-)

+0

不,情況是不同的。我不知道X,Y。我只能通過當前像素顏色檢測座標。例如。如果某個像素是綠色的,則將其繪成藍色。 –

1

可能有十幾種方法可以做到這一點。如果您想要使用Canvas方法,可以使用一種方法繪製到Bitmap對象。然後,您可以將該對象繪製到另一個畫布。位圖對象也可能具有修改像素的功能。

位圖還可以讓你獲得一個副本到一個緩衝區,如果你知道如何存儲像素,這將是一個非常快速的圖像處理方式。我不確定Canvas本身是否有這個