Android Canvas.DrawBitmap如何避免模糊/抗锯齿?

6
我正在尝试使用精灵(或非常像素化的角色、背景等)制作Android游戏。我是这样在画布上绘制它们的...... matrix.preScale(xrat,yrat); canvas.drawBitmap(img, matrix, null); 其中img是位图,xrat和yrat是比例尺。我的问题是,当我测试时,位图会变得模糊或反锯齿,有没有办法防止这种情况发生?如果方块变得模糊,游戏的严格方块艺术风格将被破坏。任何帮助都将不胜感激!
1个回答

23
创建一个新的Paint,在使用设置时用于绘制位图:
Paint drawPaint = new Paint();
drawPaint.setAntiAlias(false);
drawPaint.setFilterBitmap(false);

我相信过滤默认是开启的,当放大绘制位图时会尝试平滑处理。


2
我认为过滤只适用于向上缩放,而不是向下缩放。只是想指出这一点,因为原帖没有说明。 - user432209
2
嘿,非常感谢大家。我还想补充一点,对于任何正在制作8位游戏或尝试做和我一样的事情的人来说,你需要将图像资源放在drawable-hdpi中,否则Android会进行过滤。 - seveibar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接