第9单元 多媒体编程.pptVIP

  1. 1、本文档共48页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第9单元 多媒体编程

第9章 多媒体编程 本章要点: 什么是GDI+ GDI+的基本使用 用GDI+显示文本和图形 用GDI+操纵图像 9.1 接触GDI+ GDI+是微软公司为程序员提供的针对Windows平台的新一代二维图形系统,利用它,程序员可以在窗体上绘制出各种各样的图形,或者显示图像。比起上一代的GDI,GDI+具有完全面向对象的特征,它的优良设计在保证高效率的同时,还提供了非常容易使用的接口,而且有很多新的功能是传统GDI望尘莫及的。这些新功能包括: ? 对所有图形基元的Alpha混合支持; ? 消除锯齿; ? 渐变填充和纹理填充; ? 宽线; ? 基数样条; ? 可缩放区域; ? 浮点坐标; ? 复合线; ? 嵌入钢笔; ? 高质量的筛选和缩放; ? 大量的线型和笔尖选项。 9.1.1 建立自定义控件 9.1.2 测试自定义的控件 下面的任务是编写一个测试程序来查看效果。新建一个Windows窗体程序,起名为Case9_1。我们需要把刚刚生成的MyButton.dll的引用加入到现在的项目中,方法如下: 用鼠标指向工具箱图标,让工具箱出现,可以在任何一个选项卡上单击鼠标右键(但最好还是在“Windows窗体”上,因为要添加的控件也可以算是一个Windows窗体控件),在弹出菜单中选择【自定义工具箱】。 在弹出的“自定义工具箱”对话框中,选择【 .NET框架组件】页,然后单击【浏览】按钮找到MyButton.dll文件,选择【打开】,然后单击【确定】按钮关闭对话框,这时在选项卡末尾发现新添加的GradientButton控件。可以像使用普通控件一样把它放到窗体上,这时窗体上就出现了带有渐变色的按钮GradientButton1。 由于在代码中已编写了处理文字的部分,现在就可以改变控件的Text属性了(譬如改为“你好”),还可以改变控件的Font属性,你会发现这些都被正确地处理了,字的颜色是由ForeColor属性控制的,这也工作得很好。 如果查看“属性”窗体的“杂项”,会发现两个在Button控件中不存在的属性:StartColor和EndColor,这是我们自定义的,它可以很好地集成到IDE中。 改变这两个属性,也会改变按钮的外观。双击控件,一样会弹出代码窗口,可以输入下面的代码: Static iCounter As Integer = 0 Static sText As String = GradientButton1.Text iCounter += 1 GradientButton1.Text = sText iCounter 按F5键运行程序,在窗体中单击几次控件,可以看到,虽然按钮上的文字如我们所愿地发生着变化,但是按钮的颜色却在发生无法捉摸的改变,这是因为在设计时设定了按钮的颜色是随机变化的。 9.1.3 点评:Graphics对象 这是一个比较复杂的案例,尽管它仅仅只是揭示了GDI+强大功能的冰山一角。 对于继承、自定义属性这些内容,在第3章中讲过,你应该不会陌生,现在就把精力集中到使用GDI+的部分,也就是OnPaint事件处理程序上。 从OnPaint过程的PaintEvent参数中,可以得到几个重要的对象,其中之一就是Graphics对象: Dim g As Graphics = pe.Graphics Graphics对象是GDI+的基础对象,如果把GDI+理解成一套绘图的工具,例如笔、刷子和颜料等,那么Graphics就是画布,一切绘图都是发生在Graphics对象之上的。 创建 Graphics 对象后,可以使用它绘制线、填充形状和绘制文本等。与 Graphics 对象一起使用的主要对象如表9.1所示。 接下来要取得需要画的区域,这样才会知道画的范围有多大,一般来说,这就是控件所占的屏幕矩形的大小。不仅如此,本例中还用Inflate语句把这个矩形缩小了一点,这是因为如果画的区域与Button大小一样大,就看不出Button的凸起效果了,你可以试着把这一句去掉,看看会发生什么现象。 再接着构造一个Brush对象,也就是画刷: Dim bgBrush As Brush = New Drawing2D.LinearGradientBrush( _ New Point(clientRect.X, clientRect.Y), _ New Point(clientRect.Width, clientRect.Height), _ StartColor, EndColor) 它很像真的画刷,可以在画布上画出各种颜色,而且使用的这个LinearGradientBrush还可以刷出渐变色。 g.FillRectangle(bgBrus

文档评论(0)

panguoxiang + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档