【发布时间】:2011-05-22 09:16:46
【问题描述】:
很抱歉,如果以前有人提出过这个话题,但我在网络和谷歌群组上的所有搜索都没有帮助我。
我目前正在使用 Android SDK 开发一个小游戏,并使用我相应调整大小以匹配设备分辨率的高分辨率位图(让系统为我做这件事是 不够“脆”)。
我使用一个 SurfaceView,我在它上一次绘制了一个画布,填充了整个表面。油漆使用 setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN)) 来允许遮罩。 事先,我检索了各种位图——在初始化时使用 createScaledBitmap() 调整大小并放入缓存中——然后在 SurfaceView 上绘制此画布之前,我在此画布上应用带有绘画的位图。
我的问题是,无论我尝试什么,无论我使用什么绘画设置(抖动、抗锯齿等),调整大小的位图都没有抗锯齿,并且绘图呈现锯齿状边缘。我什么都试过了。 我唯一的一点点成功是使用 inSampleSize 来接近所需的缩放大小并强制执行第一遍抗锯齿,然后在检索到的内容上调用 createScaledBitmap 高分辨率位图,但它不够漂亮。我只是不允许为每种分辨率组合创建大量预先确定大小的位图。我错过了什么 ?
提前非常感谢
【问题讨论】:
标签: android surfaceview antialiasing