我在开始时有一个Canvas
对象。我需要根据当前颜色更改某些像素的颜色。我怎么能以正确的方式做到这一点?
详细说明:
我从ImageView
扩展了自己的课程。在onDraw(Canvas canvas)
方法中,我使用第三方类绘制了一些内容,并且只有Canvas
个结果对象。我需要根据当前颜色改变某些像素的颜色。
答案 0 :(得分:3)
假设您有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);
在此Link上搜索更多内容以更改不同位置的多个像素,有许多功能可帮助您实现所需目标。祝你好运:-)
答案 1 :(得分:0)
可能有十几种方法可以做到这一点。如果你想做Canvas方法,有一种方法可以绘制到Bitmap对象。然后,您可以将对象绘制到另一个Canvas。 Bitmap对象也可能具有修改像素的功能。
Bitmap还允许您将副本复制到缓冲区中,如果您知道如何存储像素,那么这将是一种非常快速的图像处理方式。我不确定Canvas本身是否有那个
答案 2 :(得分:0)
我建议查看Faster way to set a (PNG) bitmap color instead of pixel by pixel。它具有逐个像素地获取和设置位图颜色的代码(在问题中),以及对逐像素方法(在答案中)的替代方案的建议。也可能有用:Explanation of the method getPixels for a Bitmap in Android。