【发布时间】:2012-08-23 15:59:32
【问题描述】:
我正在制作一款模仿经典游戏的应用。因此我需要渲染一些像素艺术。
我有一个 100x100 位图作为缓冲区,我可以毫无困难地在缓冲区上绘制所有内容。
当我尝试在 480x480 画布上渲染它时,问题就来了。
Bitmap.createScaledBitmap 会给我一个模糊的位图,所以我使用以下代码在“块(放大的像素)”之间进行清晰的划分。
float scale = getWidth() / 100f;
for(int y = 0 ; y < getHeight() ; y++){
for(int x = 0 ; x < getWidth() ; x++){
buffer2.setPixel(x, y, buffer.getPixel((int)(x / scale), (int)(y / scale)));
}
}
代码运行良好,完全符合我的要求。但是性能很差(需要 300+ 毫秒)。所以我写信询问是否有更好的出路。谢谢。
【问题讨论】:
标签: android canvas bitmap pixel