8

我一Canvas开始就有一个对象。我需要根据当前颜色更改某些像素的颜色。我怎样才能以适当的方式做到这一点?

细节:

我有自己的课程从ImageView. 在onDraw(Canvas canvas)方法中,我用第三方类绘制了一些东西,并且只有Canvas带有结果的对象。之后我需要根据当前颜色更改某些像素的颜色。

4

3 回答 3

4

假设你有 android.graphics.Canvas对象被调用canvas并且X&Y是你想要改变像素的点,所以你去

称呼 :

canvas.drawPoint(X, Y, paint);

这是你如何初始化类的对象,android.graphics.Paint即绘画

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

在此链接上搜索更多以更改不同位置的多个像素,有很多功能可以帮助您实现您想要的。好运 :-)

于 2012-10-17T15:47:29.293 回答
0

我建议查看Faster way to set a (PNG) bitmap color 而不是逐像素设置。它具有逐像素获取和设置位图颜色的代码(在问题中),以及对逐像素方法的替代方法的建议(在答案中)。也可能有用:Android 中 Bitmap 的方法 getPixels 的解释

于 2012-10-15T00:29:43.960 回答
0

可能有十几种方法可以做到这一点。如果您想使用 Canvas 方法,有一种方法可以绘制到 Bitmap 对象。然后,您可以将对象绘制到另一个 Canvas。Bitmap 对象也可能具有修改像素的功能。

位图还可以让您将副本复制到缓冲区中,如果您知道像素是如何存储的,那将是一种非常快速的图像处理方式。我不确定 Canvas 本身是否有

于 2012-09-28T19:52:21.323 回答