热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

C#编程130:Brush的五个继承类

Brush笔刷类,可以用颜色和图像填充图形,是抽象类,不可以实例化。实例:1、SolidBrushTestusingSyst
C#编程-130:Brush的五个继承类

Brush笔刷类,可以用颜色和图像填充图形,是抽象类,不可以实例化。

实例:
1、SolidBrushTest

C#编程-130:Brush的五个继承类

  1. using System;
  2. using System.Drawing;
  3. using System.Windows.Forms;
  4.  
  5. namespace SolidBrushTest
  6. {
  7.     public partial class Form1 : Form
  8.     {
  9.         public Form1()
  10.         {
  11.             InitializeComponent();
  12.         }
  13.  
  14.         private void Form1_Paint(object sender, PaintEventArgs e)
  15.         {
  16.             Graphics g = e.Graphics;
  17.             Brush brush = new SolidBrush(Color.Orange);
  18.             g.FillEllipse(brush, 10, 10, 200, 120);
  19.             g.Dispose();
  20.  
  21.         }
  22.     }
  23. }

2、TextureBrushTest

C#编程-130:Brush的五个继承类

  1. using System;
  2. using System.Drawing;
  3. using System.Windows.Forms;
  4. using System.IO;
  5. namespace TextureBrushTest
  6. {
  7.     public partial class Form1 : Form
  8.     {
  9.         public Form1()
  10.         {
  11.             InitializeComponent();
  12.         }
  13.         private void Form1_Paint(object sender, PaintEventArgs e)
  14.         {
  15.             string path = @"D:\CS\GDIPlusTest\TextureBrushTest\img\微信图片_20170817213231.jpg";
  16.             Graphics g=e.Graphics;
  17.             if (File.Exists(path))
  18.             {
  19.                 Bitmap map = new Bitmap(path);
  20.                 Brush brush = new TextureBrush(map);
  21.                 g.FillEllipse(brush, 10, 10, 500, 500);
  22.                 brush.Dispose();
  23.             }
  24.             else
  25.             {
  26.                 MessageBox.Show("image is not exists");
  27.             }
  28.             g.Dispose();
  29.         }
  30.     }
  31. }

3、LinearGradientBrushTest

C#编程-130:Brush的五个继承类

  1. using System;
  2. using System.Drawing;
  3. using System.Windows.Forms;
  4. using System.Drawing.Drawing2D;
  5. namespace LinearGradientBrushTest
  6. {
  7.     public partial class Form1 : Form
  8.     {
  9.         public Form1()
  10.         {
  11.             InitializeComponent();
  12.         }
  13.             private void Form1_Paint(object sender, PaintEventArgs e)
  14.         {
  15.             Graphics g = e.Graphics;
  16.             LinearGradientBrush lgb = new LinearGradientBrush(new Point(10,10),new Point(290,90),Color.White,Color.FromArgb(255,0,0,0));
  17.             g.FillEllipse(lgb,10,10,280,120);
  18.             lgb.Dispose();
  19.             g.Dispose();
  20.         }
  21.     }
  22. }

4、PathGradientBrushTest

C#编程-130:Brush的五个继承类

  1. using System.Drawing;
  2. using System.Windows.Forms;
  3. using System.Drawing.Drawing2D;
  4. namespace PathGradientBrushTest
  5. {
  6.     public partial class Form1 : Form
  7.     {
  8.         public Form1()
  9.         {
  10.             InitializeComponent();
  11.         }
  12.  
  13.         private void Form1_Paint(object sender, PaintEventArgs e)
  14.         {
  15.             //绘画路径
  16.             GraphicsPath gp = new GraphicsPath();
  17.             gp.AddEllipse(0,80,240,120);
  18.  
  19.             //路径渐变画刷
  20.             PathGradientBrush pgb = new PathGradientBrush(gp);
  21.             pgb.CenterColor = Color.Orange;
  22.             Color[] colors = { Color.FromArgb(255,0,255,0)};
  23.             pgb.SurroundColors = colors;
  24.  
  25.             //绘制椭圆
  26.             e.Graphics.FillEllipse(pgb,0,80,240,120);
  27.             pgb.Dispose();
  28.         }
  29.     }
  30. }

5、HatchBrushTest
C#编程-130:Brush的五个继承类

  1. using System.Drawing;
  2. using System.Windows.Forms;
  3. using System.Drawing.Drawing2D;
  4. namespace HatchBrushTest
  5. {
  6.     public partial class Form1 : Form
  7.     {
  8.         public Form1()
  9.         {
  10.             InitializeComponent();
  11.         }
  12.  
  13.         private void Form1_Paint(object sender, PaintEventArgs e)
  14.         {
  15.             HatchBrush hatchBrush = new HatchBrush(HatchStyle.HorizontalBrick,Color.Red,Color.Yellow);
  16.             e.Graphics.FillEllipse(hatchBrush,0,80,240,120);
  17.             hatchBrush.Dispose();
  18.         }
  19.     }
  20. }


推荐阅读
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • 导出功能protectedvoidbtnExport(objectsender,EventArgse){用来打开下载窗口stringfileName中 ... [详细]
  • 本文由编程笔记#小编为大家整理,主要介绍了logistic回归(线性和非线性)相关的知识,包括线性logistic回归的代码和数据集的分布情况。希望对你有一定的参考价值。 ... [详细]
  • 本文介绍了C#中生成随机数的三种方法,并分析了其中存在的问题。首先介绍了使用Random类生成随机数的默认方法,但在高并发情况下可能会出现重复的情况。接着通过循环生成了一系列随机数,进一步突显了这个问题。文章指出,随机数生成在任何编程语言中都是必备的功能,但Random类生成的随机数并不可靠。最后,提出了需要寻找其他可靠的随机数生成方法的建议。 ... [详细]
  • 本文介绍了C#中数据集DataSet对象的使用及相关方法详解,包括DataSet对象的概述、与数据关系对象的互联、Rows集合和Columns集合的组成,以及DataSet对象常用的方法之一——Merge方法的使用。通过本文的阅读,读者可以了解到DataSet对象在C#中的重要性和使用方法。 ... [详细]
  • 利用Visual Basic开发SAP接口程序初探的方法与原理
    本文介绍了利用Visual Basic开发SAP接口程序的方法与原理,以及SAP R/3系统的特点和二次开发平台ABAP的使用。通过程序接口自动读取SAP R/3的数据表或视图,在外部进行处理和利用水晶报表等工具生成符合中国人习惯的报表样式。具体介绍了RFC调用的原理和模型,并强调本文主要不讨论SAP R/3函数的开发,而是针对使用SAP的公司的非ABAP开发人员提供了初步的接口程序开发指导。 ... [详细]
  • ASP.NET2.0数据教程之十四:使用FormView的模板
    本文介绍了在ASP.NET 2.0中使用FormView控件来实现自定义的显示外观,与GridView和DetailsView不同,FormView使用模板来呈现,可以实现不规则的外观呈现。同时还介绍了TemplateField的用法和FormView与DetailsView的区别。 ... [详细]
  • 本文介绍了如何使用C#制作Java+Mysql+Tomcat环境安装程序,实现一键式安装。通过将JDK、Mysql、Tomcat三者制作成一个安装包,解决了客户在安装软件时的复杂配置和繁琐问题,便于管理软件版本和系统集成。具体步骤包括配置JDK环境变量和安装Mysql服务,其中使用了MySQL Server 5.5社区版和my.ini文件。安装方法为通过命令行将目录转到mysql的bin目录下,执行mysqld --install MySQL5命令。 ... [详细]
  • 本文介绍了Windows操作系统的版本及其特点,包括Windows 7系统的6个版本:Starter、Home Basic、Home Premium、Professional、Enterprise、Ultimate。Windows操作系统是微软公司研发的一套操作系统,具有人机操作性优异、支持的应用软件较多、对硬件支持良好等优点。Windows 7 Starter是功能最少的版本,缺乏Aero特效功能,没有64位支持,最初设计不能同时运行三个以上应用程序。 ... [详细]
  • 本文介绍了Python爬虫技术基础篇面向对象高级编程(中)中的多重继承概念。通过继承,子类可以扩展父类的功能。文章以动物类层次的设计为例,讨论了按照不同分类方式设计类层次的复杂性和多重继承的优势。最后给出了哺乳动物和鸟类的设计示例,以及能跑、能飞、宠物类和非宠物类的增加对类数量的影响。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • 后台获取视图对应的字符串
    1.帮助类后台获取视图对应的字符串publicclassViewHelper{将View输出为字符串(注:不会执行对应的ac ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOMEbinjava–option来启 ... [详细]
author-avatar
手机用户2502939965
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有