我正在从我的Android应用程序创建一个可打印的标签(它是一个检查应用程序,允许您在蓝牙打印机上打印标签,以便在现场发现任何问题)。
我正在使用drawText
在Canvas
上绘制文字,并使用TextPaint
设置我的绘画(样式等)。
如果您查看Paint
上TextPaint
继承的Paint.ANTI_ALIAS_FLAG
上可用的标志,您会看到许多与潜在质量相关的标记,例如抖动和抗锯齿
在查看其他教程后,他们似乎使用Paint.LINEAR_TEXT_FLAG
和(define (eat xs)
(lambda (x)
(if (eq? x 'vomit)
(reverse xs)
(eat (cons x xs)))))
中的一个或两个。
关于这些选项如何影响输出质量,特别是文本输出质量,还没有多少讨论。我知道一般情况下反抗锯齿和抖动是做什么的,但Android文档中没有官方推荐用于文本等等。
这有很好的资源吗?
答案 0 :(得分:1)
有时最好的方法就是自己尝试一下,看看你想出了什么。
我有一个非常基本的标签我打印所以我用不同的标志组和字体样式组合打印它们。为了避免其他人检查所有这些选项(约2小时),我想我会分享我的结果。
我确实发现了一个有趣的发现:没有标记通常会产生最佳结果,至少对于文本而言,尤其是对于小型(10,20)文本大小。
从上到下的文字大小分别为10,20,30,40,50,60。
没有旗帜,Sans Serif
反别名,Sans Serif
线性文字,无衬线
Anti-Alias,Linear Text,Sans Serif
亚像素文字,无衬线
提示,Sans Serif
抖动,Sans Serif
没有标志,默认大胆
没有旗帜,等宽
消除锯齿,线性文字,等宽
没有旗帜,衬线