在画布中绘制每个像素

Posted

技术标签:

【中文标题】在画布中绘制每个像素【英文标题】:Draw every pixel in canvas 【发布时间】:2016-10-22 14:27:08 【问题描述】:

我有大小等于屏幕分辨率int[][] matrix = new int[width][height] 的二维数组,其中widthheight 是屏幕大小。我在屏幕上的一些多点触控事件后修改数组,例如增加或减少每个项目的值。我需要将数组中的每个项目实时绘制到画布中的每个像素。例如,如果 item 的值较高,则像素较暗。

我尝试使用android draw using SurfaceView and Thread 作为基础。在覆盖函数中的线程类中,循环运行抛出我喜欢的每个数组项canvas.drawPoint(w, h, paint)。但这并不快。

我这样做对吗?最好的方法是什么?

【问题讨论】:

【参考方案1】:

如果我没有完全错,您不必每帧都重绘每个像素,因此您绝对应该以某种方式存储更改的像素并在每次渲染循环运行时绘制它们。

【讨论】:

以上是关于在画布中绘制每个像素的主要内容,如果未能解决你的问题,请参考以下文章

如何提高 HTML 画布绘制像素的性能

如何在 HTML5 画布上逐个像素地绘制

如何计算偏移量以绘制到画布中应用了比例变换的最近像素?

如何在没有抗锯齿的情况下在画布上绘制像素字体

canvas使用图像(绘制图、图像平铺、图像剪裁、像素处理、绘制文字)

如何将dp转换为像素,并使用它在android中绘制到画布