Graphics 抗锯齿替代方案

Graphics 抗锯齿替代方案,graphics,antialiasing,platform-agnostic,raster-graphics,Graphics,Antialiasing,Platform Agnostic,Raster Graphics,我在Windows上见过使用GDI+、Java以及Photoshop和Gimp提供的抗锯齿。是否还有其他库提供抗锯齿功能而不依赖于主机操作系统的支持?在软件中提供抗锯齿图形。可以使用许多抗锯齿方法(顺便说一句,这些方法通常命名错误,但这是一匹死马)。根据您对原始信号的了解以及预期用途,不同的东西最有可能给您带来期望的结果 如果输出是通过操作系统显示设备进行的,那么“来自主机操作系统的支持”可能是最明智的,因为它们拥有有关对映像所做操作的最多信息 我想这是一个很长的问题,你到底想做什么?许多图形库

我在Windows上见过使用GDI+、Java以及Photoshop和Gimp提供的抗锯齿。是否还有其他库提供抗锯齿功能而不依赖于主机操作系统的支持?

在软件中提供抗锯齿图形。

可以使用许多抗锯齿方法(顺便说一句,这些方法通常命名错误,但这是一匹死马)。根据您对原始信号的了解以及预期用途,不同的东西最有可能给您带来期望的结果

如果输出是通过操作系统显示设备进行的,那么“来自主机操作系统的支持”可能是最明智的,因为它们拥有有关对映像所做操作的最多信息


我想这是一个很长的问题,你到底想做什么?许多图形库都会提供某种形式的抗锯齿,它们是否合适在很大程度上取决于您试图实现的目标。

正如simon所指出的,抗锯齿一词经常被误用/滥用,因此准确了解您试图做什么总是有帮助的

既然你提到了GDI,我就假设你说的是当你调整它们的大小时,要保持清晰的边缘——所以当你将字体中的字符调整为原来大小的2倍或3倍时,它看起来是干净的,而不是像素化的。对于这类事情,我在过去使用了一种称为阿尔法测试放大率的技术——你可以在这里阅读白皮书:

当我实现它时,我使用了不止一个平面,所以我可以在所有类型的对象上获得更好的边,但它在最后简要介绍了这一点。在缩放矢量图像时保持质量的所有方法(我使用过)中,这是最简单、质量最高的方法。这还具有易于在硬件中实现的优点。从现有API的角度来看,最好的选择是使用OpenGL或Direct3D,也就是说,它实际上只需要双线性过滤和纹理映射就可以完成它的功能,这样你就可以自己滚动(我以前也有过)。如果你总是在处理矩形,只需要进行缩放,这是非常简单的,添加旋转并不会增加那么多的复杂性。如果您自己滚动,请确保特别注意亚像素定位(如何解析不落在完整像素上的像素位置,因为这对质量至关重要,有时会被忽略)


希望这能有所帮助!

对于需要消除混叠的图像,您确实需要更具体地处理这些图像……我正在使用GDI调用生成图形。我正在尝试在绘制文本和斜线时减少楼梯效果。SmoothingMode属性确实有帮助,但我想看看是否还有其他库s提供更好的平滑/性能。+1因为它给了我一个可能更好地回答我自己问题的想法