Foxtable(狐表)用户栏目专家坐堂 → [分享]绘制反锯齿椭圆形代码


  共有15491人关注过本帖树形打印复制链接

主题:[分享]绘制反锯齿椭圆形代码

帅哥哟,离线,有人找我吗?
qtcks
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:485 积分:3926 威望:0 精华:6 注册:2009/3/29 13:25:00
[分享]绘制反锯齿椭圆形代码  发帖心情 Post By:2010/7/4 21:01:00 [只看该作者]

Dim p As WinForm.Painter = e.Form.Controls("Painter1")
Dim g As Graphics = p.Graphics
g.SmoothingMode = Drawing2D.SmoothingMode.AntiAlias     ‘反锯齿代码


g.DrawEllipse(Pens.Blue,30,30,100,100)
p.Repaint()


图片点击可在新窗口打开查看此主题相关图片如下:反锯齿.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2010-7-4 21:42:30编辑过]

[本帖被加为精华]
 回到顶部
帅哥哟,离线,有人找我吗?
qtcks
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:485 积分:3926 威望:0 精华:6 注册:2009/3/29 13:25:00
  发帖心情 Post By:2010/7/4 21:46:00 [只看该作者]

顶,申请加精

 回到顶部
帅哥哟,离线,有人找我吗?
qtcks
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:485 积分:3926 威望:0 精华:6 注册:2009/3/29 13:25:00
  发帖心情 Post By:2010/7/4 21:54:00 [只看该作者]

Dim p As WinForm.Painter = e.Form.Controls("Painter1")
Dim g As Graphics = p.Graphics
Dim fnt As New Font("宋体",76)
Dim msg As String = "I Like Foxtable"
g.TextRenderingHint=TextRenderingHint.AntiAlias     '消除文字锯齿
g.DrawString(msg,fnt,Brushes.Red,10,10)
p.Repaint()

 回到顶部
帅哥哟,离线,有人找我吗?
qtcks
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:485 积分:3926 威望:0 精华:6 注册:2009/3/29 13:25:00
  发帖心情 Post By:2010/7/4 22:23:00 [只看该作者]

 用直线和曲线消除锯齿
Windows 窗体编程<!---->
用直线和曲线消除锯齿<!---->
<!--Content type: DocStudio. Transform: devdiv2mtps.xslt.-->

当使用 GDI+ 绘制直线时,需要提供直线的起点和终点,但不必提供有关直线上个别像素的任何信息。GDI+ 与显示设备驱动程序软件协同工作,以确定要开启哪些像素以便在特殊显示设备上显示直线。

锯齿化

请注意从点 (4,2) 到点 (16,10) 的红色直线。假定坐标系统的原点位于左上角且度量单位是像素。另外假定 x 坐标轴指向右边、y 坐标轴指向下边。下面的插图显示了在多颜色背景下绘制的红线的放大视图。

未消除锯齿的线条

用来呈现直线的红色像素是不透明的。直线中没有部分透明的像素。这种呈现类型的直线看上去带有锯齿,有点像楼梯。这种用楼梯状来表示直线的技术被称为锯齿化;楼梯是理论直线的一个别名。

消除锯齿

一项更为复杂的呈现直线的技术需要使用部分透明的像素和不透明的像素。像素被设为纯红色或红色与背景色的混合色(取决于它们和直线的接近程度)。这种呈现方式被称为消除锯齿,它可以生成视觉上更感平滑的直线。下面的插图显示了如何混合特定的像素和背景来生成消除锯齿的直线。

消除锯齿的线条

消除锯齿(也称为平滑)也可应用于曲线。下面的插图显示了平滑椭圆的放大视图。

消除锯齿的曲线

下面的插图显示了实际大小的同一个椭圆,一次没有使用消除锯齿,另一次使用了消除锯齿。

消除锯齿示例

若要使用“消除锯齿”功能绘制直线和曲线,请创建 Graphics 类的实例,并将其 SmoothingMode 属性设置为 AntiAliasHighQuality。然后调用同一 Graphics 类的某个绘制方法。

Visual Basic
myGraphics.SmoothingMode = SmoothingMode.AntiAlias
myGraphics.DrawLine(myPen, 0, 0, 12, 8)
myGraphics.SmoothingMode = SmoothingMode.AntiAlias;
myGraphics.DrawLine(myPen, 0, 0, 12, 8);

 回到顶部
帅哥哟,离线,有人找我吗?
程兴刚
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:7235 积分:40550 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2010/7/4 23:09:00 [只看该作者]

顶,应该加精,很有用!

 回到顶部
帅哥哟,离线,有人找我吗?
czy
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2010/7/4 23:42:00 [只看该作者]

好!顶一个。

加精!


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/7/5 7:10:00 [只看该作者]

呵呵,谢谢了

 回到顶部
帅哥哟,离线,有人找我吗?
kylin
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 F6
等级:狐精 帖子:3030 积分:19188 威望:0 精华:2 注册:2008/9/1 7:50:00
  发帖心情 Post By:2010/7/5 8:26:00 [只看该作者]

楼主,敬佩你的探索精神!

 

不如老六给收留在Foxtable之中了,省得大家每次都要来写这一行。


 回到顶部
帅哥哟,离线,有人找我吗?
baoxyang
  9楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3313 积分:23134 威望:0 精华:1 注册:2009/3/31 11:25:00
  发帖心情 Post By:2010/7/5 11:18:00 [只看该作者]

建议老六加入在Foxtable应用之中,并写入帮助中。


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/7/5 11:43:00 [只看该作者]

以下是引用baoxyang在2010-7-5 11:18:00的发言:

建议老六加入在Foxtable应用之中,并写入帮助中。

 

图片点击可在新窗口打开查看


 回到顶部
总数 13 1 2 下一页