我正在尝试在 Android 的画布上绘制没有抗锯齿的文本。我要使用的字体是一个文件 cour.ttf,我已将它从我的 PC 的 C:\windows\fonts 目录复制到我的应用程序的资产目录中。
我正在使用这段代码:
paint.setColor(Color.BLACK);
paint.setTypeface(Typeface.createFromAsset(getAssets(),"cour.ttf"));
paint.setTextSize(20);
paint.setAntiAlias(false);
canvas.drawText("ABCDE abcde 12345 -+/#.",100,100,paint);
setAntiAlias 函数似乎没有任何效果。这张图显示了我的结果: http: //oi47.tinypic.com/35253wo.png
第一行是应用程序的屏幕截图,抗锯齿设置为 false。第二行是应用程序的屏幕截图,其中抗锯齿设置为 true。第三行是我期望得到的,它是我的电脑在 notepad.exe 中使用相同字体制作的屏幕截图。
我做错了什么还是这是关闭抗锯齿的预期输出?我在这里想要实现的是像素化的不模糊文本。
任何帮助深表感谢。
编辑:我还没有完全找到解决方案,但我确实发现了一些有趣的东西:添加android:hardwareAccelerated="false"
到我的活动中清除了很多。Apperently这在Android 4上默认打开。仍然有一个(非常轻的)阴影可见,我想删除它。
禁用硬件加速的屏幕截图:http: //oi49.tinypic.com/aayypj.png