Android 中 TextPaint 标签的不同文本质量和输出

Jos*_*ter 3 android text canvas paint android-bitmap

我正在从我的 Android 应用程序创建一个可打印标签(这是一个检查应用程序,允许您在蓝牙打印机上打印标签,以便留在现场以识别您发现的任何问题)。

我用来drawText在 上绘制文本Canvas并使用 来设置我的绘画(样式等)TextPaint

如果您查看继承自的 上可用的标志PaintTextPaint您将看到许多与潜在质量相关的标志,例如抖动和抗锯齿。

在查看其他教程后,他们似乎使用 和 之一或Paint.ANTI_ALIAS_FLAG两者Paint.LINEAR_TEXT_FLAG

没有太多讨论这些选项实际上如何影响输出质量,特别是文本输出质量。一般来说,我知道抗锯齿和抖动的作用,但 Android 文档中没有关于用于文本等的官方建议。

有这方面的好资源吗?

Jos*_*ter 5

DIY

有时最好的方法就是亲自尝试一下,看看你能想到什么。

我正在打印一个非常基本的标签,因此我使用不同的标志集和字体样式组合来打印它们。为了避免其他人检查所有这些选项(约 2 小时),我想我应该分享我的结果。

我确实发现了一个有趣的发现:没有标志通常会产生最好的结果,至少对于文本来说,尤其是对于小(10、20)文本大小。

文字大小从上到下分别为 10、20、30、40、50、60。

无标志,无衬线字体 无标志,无衬线字体

抗锯齿、无衬线字体 抗锯齿、无衬线字体

线性文本,无衬线文本 线性文本,无衬线文本

抗锯齿、线性文本、无衬线文本 抗锯齿、线性文本、无衬线文本

亚像素文本,无衬线 亚像素文本,无衬线

提示,无衬线字体 提示,无衬线字体

抖动、无衬线 抖动、无衬线

无标志,默认粗体 无标志,默认粗体

无标志,等宽 无标志,等宽

抗锯齿、线性文本、等宽 抗锯齿、线性文本、等宽

无标志,衬线 无标志,衬线