为啥用 gdi 有锯齿图形?
Posted
技术标签:
【中文标题】为啥用 gdi 有锯齿图形?【英文标题】:Why are there aliasing drawings with gdi?为什么用 gdi 有锯齿图形? 【发布时间】:2017-11-19 00:35:33 【问题描述】:为什么使用 gdi 会有锯齿图形?甚至不缩放它。 如果我不缩放它,我认为它不会产生别名。 并且用SVG画圆不会有锯齿。
【问题讨论】:
【参考方案1】:我猜你所说的“锯齿”是指aliasing。 GDI 大约有 30 年的历史。由于抗锯齿需要相当多的计算能力,因此从未添加过它的支持。它在技术上是possible to draw smooth images using GDI and some additional code,但最好使用支持开箱即用的抗锯齿的更新 API,例如 Direct2D 或至少 GDI+。
另外,svg 只是一种基于 xml 的文件格式。你不用 svg 来“绘制”任何东西,你只是用 svg 描述图像,然后用一些渲染引擎来渲染它,比如 cairo。如果你使用纯 GDI 渲染 svg,你仍然会得到别名图像。
【讨论】:
感谢您的解释。以上是关于为啥用 gdi 有锯齿图形?的主要内容,如果未能解决你的问题,请参考以下文章
C#(Sharp)GDI plus与图形编程(计算机图形学必备知识)