问题标签 [antialiasing]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
graphics - 覆盖范围的抗锯齿组合?
有谁知道可以很好地处理多条抗锯齿线组合的图形系统?
我正在显示一个依赖关系图,并且有一堆从一个点发出的曲线。这些以通常的方式绘制抗锯齿,混合部分覆盖的像素。因此,如果两条线将占据同一像素的一半,则抗锯齿会将其混合为 75% 填充而不是 50% 填充。在彼此顶部绘制足够多的线后,像素混合会钳制并最终得到锯齿线。
我知道反颗粒几何具有计算混合的算法,这些算法可以满足相邻线的需求,并且过采样可能会起作用,但是还有其他方法吗?
flash - 关闭 Flash 字体的抗锯齿功能?
Flash 可以使用 2 种字体,以便它们可以在运行时通过 actionscript 进行更改。
- 系统字体- 没有抗锯齿,所以渲染速度很快
- 嵌入字体- 抗锯齿,因此渲染缓慢
“系统字体”的问题是您无法旋转文本。我可以使用嵌入字体并关闭抗锯齿以使其快速呈现吗?
java - Java 字体渲染
我一直在尝试增强我用 Java 编写的 GUI 系统以使用亚像素抗锯齿,并且取得了成功,除了两个剩余的异常。这是几周前我的另一个问题的后续。
第一个问题是,将渲染提示设置为 LCD(子像素)AA 值时KEY_ANTIALIASING
会VALUE_ANTIALIAS_ON
导致忽略。KEY_TEXT_ANTIALIASING
任何人都可以对此有所了解吗?目前,我被迫VALUE_ANTIALIAS_OFF
在渲染文本之前将其打开并在渲染文本后重新打开它(以便其他绘画,如圆圈等,是 AA'd)。下面的自包含测试程序证明了这个问题。
第二个问题是我找不到查询 AA 的底层 O/S 设置的方法,所以我必须做一个相当笨拙的解决方法,即创建一个 Swing JLabel
、 get it's FontMetrics
、 get it'sFontRenderContext
然后从那。除了将 Swing 包含在一个完全不使用 Swing 的程序中之外,它不会在运行任何 J2ME JVM 的设备上工作。谁能建议一个更好的方法来做到这一点?如果它需要 J5 或 J6 也没关系,因为当前的 kludge 已经需要 J6(但最好只需要 J4)。我已经尝试了所有默认设置并使用 AWT 组件而不是JLabel
.
测试程序
该程序验证要使子像素 AA 工作,必须首先禁用常规 AA 设置。(PS:我写了一个后台缓冲区,因为我的底层 GUI 确实如此,并且我想在等效的上下文中进行测试)。
java - Java字体渲染:必须为亚像素AA关闭通用AA吗?
我一直在尝试增强我用 Java 编写的 GUI 系统以使用亚像素抗锯齿,并且取得了成功,除了一个剩余的异常情况。这是我昨天的另一个问题的后续。
剩下的问题是,将渲染提示 KEY_ANTIALIASING 设置为 VALUE_ANTIALIAS_ON 会导致 KEY_TEXT_ANTIALIASING 在设置为 LCD(子像素)AA 值时被忽略。任何人都可以对此有所了解吗?目前,我在渲染文本之前被迫 VALUE_ANTIALIAS_OFF 并在渲染文本后将其重新打开(这样其他绘画,如圆圈等,都是 AA'd)。
下面的自包含测试程序证明了这个问题。如您所见,如果您运行它,当字体不是时,圆圈会用 AA 绘制,反之亦然。如果将 AA 预先配置为适用于所有绘画,那就太好了。
独立的测试程序
opengl - 如何让多边形抗锯齿工作?
我正在使用这些函数调用:
它不起作用,也不会渲染。
它不抗锯齿。
html - 有没有办法禁用 HTML 组件 (Windows) 中文本的抗锯齿功能?
我有一个 AIR 应用程序,它使用 HTML 组件来显示大部分内容(我自己设置了 html,它不是远程加载的)。文本在 Mac 上正常显示(我认为 Mac 默认对所有文本进行抗锯齿处理)。但是,在 Windows 上,无论操作系统设置如何,文本都会显示消除锯齿。它最终使一切都染上了红色。
理想情况下,我希望能够控制文本是否得到抗锯齿。有谁知道在 Flex / AIR 中是否有办法做到这一点?
我正在谈论的一个例子:
(来源:silentchris.com)
python - Matplotlib 关闭绘图中文本的抗锯齿功能?
有什么方法可以关闭绘图中所有文本的抗锯齿,尤其是刻度标签?
graphics - 抗锯齿和伽马补偿
计算机屏幕上像素的亮度通常与像素的数字 RGB 三元组值不是线性相关的。早期 CRT 的非线性响应需要补偿非线性编码,我们今天继续使用这种编码。
通常我们在计算机屏幕上生成图像并在那里消费它们,所以一切正常。但是,当我们进行抗锯齿处理时,称为 gamma 的非线性意味着我们不能只将 0.5 的 alpha 值添加到 50% 覆盖的像素并期望它看起来正确。0.5 的 alpha 值只有 0.5^2.2=22% 的亮度与 1.0 的 alpha 和 2.2 的典型 gamma 一样亮。
抗锯齿伽玛补偿是否有任何广泛确立的最佳实践?你有日常使用的宠物方法吗?有没有人看到任何关于使用不同技术对图形输出质量的结果和人类感知的研究?
我曾想过做标准的 X^(1/2.2) 补偿,但这在计算上是相当密集的。不过,也许我可以使用包含 256 个条目的查找表来加快速度。
iphone - 抗锯齿 iPhone OpenGLES
我需要在 iPhone 3G (OpenGL ES1.1) 中进行抗锯齿,而不是在带有 OpenGL ES.2.0 的 iPhone 3Gs 中。我已经绘制了 3d 模型并有下一个:模型边缘的像素看起来像牙齿。
我尝试为纹理设置任何过滤器,但是这个过滤器使只有纹理内部看起来更好。
我怎样才能做出好的抗锯齿?可能我应该使用任何平滑来绘制三角形吗?如果是,那么在 OpenGL ES1.1 中怎么可能?
谢谢。
java - 如何让 JTextPane 绘制抗锯齿字体?
在一个摇摆应用程序中,我正在使用自定义渲染文本JComponent
,使用Graphics.drawString()
. 这是一个示例:在同一个应用程序中的
文本 http://img525.imageshack.us/img525/4928/drawstringsample.jpg
,我正在使用JTextPane
. 这是一个示例:
替代文本 http://img28.imageshack.us/img28/1134/jtextpanesample.jpg
你能注意到较低的样本是如何被“弄脏”的吗?好吧,我不知道如何让它看起来像上面的样本。
谢谢,asaf :-)
更新:
System.setProperty("awt.useSystemAAFontSettings","false")
也"lcd"
没有工作。((Graphics2D)g).setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_OFF)
在paint()
不工作putClientProperty(
sun.swing.SwingUtilities2
.AA_TEXT_PROPERTY_KEY, Boolean.TRUE)
给java.lang.ClassCastException: java.lang.Boolean cannot be cast to sun.swing.SwingUtilities2$AATextInfo