小编afr*_*100的帖子

android快速像素访问和操作

我正在尝试将我用java编写的模拟器移植到android.事情进展顺利,我能够通过微小的更改移植我的大部分代码,但由于仿真的工作方式,我需要在像素级渲染图像.

至于我使用的桌面java

int[] pixelsA = ((DataBufferInt) src.getRaster().getDataBuffer()).getData(); 
Run Code Online (Sandbox Code Playgroud)

这允许我获得对像素缓冲区的引用并动态更新它(最小化对象创建)

目前这是我的android模拟器为每一帧做的

@Override
public void onDraw(Canvas canvas)
{
    buffer = Bitmap.createBitmap(pixelsA, 256, 192, Bitmap.Config.RGB_565);
    canvas.drawBitmap(buffer, 0, 0, null);

}   
Run Code Online (Sandbox Code Playgroud)

pixelsA是一个数组int [],pixelsA包含所有颜色信息,因此每个帧都需要通过执行来创建一个位图对象

buffer = Bitmap.createBitmap(pixelsA, 256, 192, Bitmap.Config.RGB_565);
Run Code Online (Sandbox Code Playgroud)

我认为这是相当昂贵和缓慢的.

有没有办法用画布有效地绘制像素?

android image pixel draw android-canvas

9
推荐指数
2
解决办法
1万
查看次数

标签 统计

android ×1

android-canvas ×1

draw ×1

image ×1

pixel ×1