Android画布会改变一些像素的颜色

我在开始时有一个Canvas对象。 我需要根据当前的颜色改变一些像素的颜色。 我该如何以正确的方式做到这一点?

细节:

我有我自己的类从ImageView扩展。 在onDraw(Canvas canvas)方法中,我绘制了第三方类的东西,并且只有Canvas对象和结果。 我需要根据当前的颜色改变一些像素的颜色。


假设你有一个名为canvas android.graphics.Canvas对象,并且XY是你想要改变像素的点,所以你在这里

致电:

canvas.drawPoint(X, Y, paint);

这里是你如何初始化类android.graphics.Paint对象,即paint

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

搜索有关此链接的更多信息可在不同位置更改多个像素,但有许多功能可帮助您实现所需。 好运 :-)


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

位图还可以让你获得一个副本到缓冲区,如果你知道如何存储像素,这将是一个非常快速的图像处理方式。 我不确定Canvas本身是否有这个功能


我建议您以更快的方式设置(PNG)位图颜色,而不是逐个像素。 它有代码来获取和设置位图颜色逐个像素(在问题中),以及一个像素逐像素方法(在答案中)的替代建议。 也可能有用:Android中的Bitmap方法getPixels的解释。

链接地址: http://www.djcxy.com/p/64229.html

上一篇: Android canvas change some pixels color

下一篇: Inheritance and the JSON formatter of ASP.NET Web API