我有一個Canvas
對象在開始。我需要根據當前的顏色改變一些像素的顏色。我該如何以正確的方式做到這一點?Android canvas改變一些像素顏色
詳情:
我有我自己的類從ImageView
延長。在onDraw(Canvas canvas)
方法中,我繪製了第三方類的東西,結果只有Canvas
對象。我需要根據當前的顏色改變一些像素的顏色。
我有一個Canvas
對象在開始。我需要根據當前的顏色改變一些像素的顏色。我該如何以正確的方式做到這一點?Android canvas改變一些像素顏色
詳情:
我有我自己的類從ImageView
延長。在onDraw(Canvas canvas)
方法中,我繪製了第三方類的東西,結果只有Canvas
對象。我需要根據當前的顏色改變一些像素的顏色。
假設您已經android.graphics.Canvas
對象調用canvas
和X
& 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的更多信息可在不同位置更改多個像素,但有許多功能可幫助您實現所需功能。祝你好運:-)
不,情況是不同的。我不知道X,Y。我只能通過當前像素顏色檢測座標。例如。如果某個像素是綠色的,則將其繪成藍色。 –
可能有十幾種方法可以做到這一點。如果您想要使用Canvas方法,可以使用一種方法繪製到Bitmap對象。然後,您可以將該對象繪製到另一個畫布。位圖對象也可能具有修改像素的功能。
位圖還可以讓你獲得一個副本到一個緩衝區,如果你知道如何存儲像素,這將是一個非常快速的圖像處理方式。我不確定Canvas本身是否有這個
我推薦看Faster way to set a (PNG) bitmap color instead of pixel by pixel。它有代碼來獲取和設置位圖顏色逐個像素(在問題中),以及一個像素逐像素方法(在答案中)的替代建議。也可能有用:Explanation of the method getPixels for a Bitmap in Android。
你需要遍歷每個像素,獲取其當前顏色,並設置其新顏色。 – user1706950
我知道了,怎麼樣? :)對於繪圖我可以使用'canvas.drawPoint(x,y,paint)',但是如何獲得像素的顏色? –
順便說一句,我需要適當的解決方案,我的意思是高效和最快。 –