GDI+基础知识 反锯齿技术

锯齿效果是绘图表面中像素的粒子化造成的。例如绘制一条对角线时,基于像素的本质只能是图形类似于对角线,如图阶梯状效果:

绘制曲线和文本时也会出现这种问题,都是因为屏幕上的像素使图像呈现这个锯齿状效果。

反锯齿技术就是为了让绘制曲线、对角线和文本这样的图形操作获得更好的效果。反锯齿的原理是通过改变具有阶梯状效果的像素附近的像素修改颜色——在足够高的分辨率下就会得到较平滑的效果。如图:

事实上,虽然采用了这种技术,但只能缓解锯齿效果,不能完全消除。

示例:

Graphics g = e.Graphics;
            //e.Graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
            g.DrawBezier(new Pen(Brushes.Black, 5), 0, 0, 150, 150, 250, 150, 200, 300);

效果:

反注释这句:

e.Graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;

效果:

这里把Graphics对象的SmoothingMode属性设置为AntiAlias。这个值是SmoothingMode枚举的一部分,别的值可以自己试试,它属于System.Drawing.Drawing2D命名空间。

下面是填充一个矩形的结果:

e.Graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
            e.Graphics.FillRectangle(Brushes.Black, 1, 0, 5, 4);

边界像素的颜色有他们与在FillRectangle方法中定义的实际矩形的相交程度来决定的:

角像素与矩形有25%相交,所以颜色只包含25%的黑色。

边像素与矩形有50%相交,所以颜色包含50%的黑色。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值