gpt4 book ai didi

android - Paint.setAntiAlias(false) 没有效果?

转载 作者:太空宇宙 更新时间:2023-11-03 10:27:51 24 4
gpt4 key购买 nike

我正在尝试在 Android 的 Canvas 上绘制没有抗锯齿的文本。我想使用的字体是一个文件 cour.ttf,我已将其从我的 PC 的 C:\windows\fonts 目录复制到我的应用程序的 Assets 目录。

我正在使用这段代码:

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 中使用相同字体从我的 PC 中截取的屏幕截图。

我是不是做错了什么,或者这是关闭抗锯齿后的预期输出?我在这里想要实现的是像素化清晰的文本。

非常感谢任何帮助。

编辑:我还没有完全找到解决方案,但我确实发现了一些有趣的东西:将 android:hardwareAccelerated="false" 添加到我的 Activity 中可以清除它。 Apperently 这在 Android 4 上是默认打开的。不过仍然有一个(非常轻的)阴影可见,我想将其移除。

禁用硬件加速的屏幕截图: http://oi49.tinypic.com/aayypj.png

最佳答案

PC 和手机上的像素密度似乎不同,这就是文本外观不同的原因。您无法将手机呈现的文本与 PC 上呈现的文本进行比较。我觉得你手机的像素密度很高,所以你看不到抗锯齿的效果。

关于android - Paint.setAntiAlias(false) 没有效果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10460270/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com