G++’s Family
来源:互联网 发布:云免流app源码 编辑:程序博客网 时间:2024/06/05 18:08
G++
图形设备接口(Graphics Device Interface或Graphical Device Interface,缩写GDI),是微软公司视窗操作系统(Microsoft Windows)的三大核心部件(也称“子系统”)之一。GDI是微软视窗系统表征图形对象及将其传送给诸如显示器、打印机之类输出设备的标准。GDI类似Macintosh传统的QuickDraw。
简单的说:G++就是一种绘图工具,它能够编写与装置无关的应用程序,并且不需要注意特定显示装置的详细数据。
在VS中System.Drawing是对G++基本图形功能访问的类,不需要导入;
System.Drawing.Imaging:高级GDI+图像处理功能的类;
System.Drawing.Text:高级GDI+排版功能的类,容许创建、使用多种字体的类;
下面就结合VS中的例子来认识一下这位新朋友。首先要明确一下前提,在VS等程序中的窗体是以左上角为坐标原点,如下图:
另外画图的话需要的材料主要有:笔、纸、主体
(这里是抽象概况的说法,画图工具中的“画笔”等归为“笔”一类,“画板”归为‘纸“一类,主体主要是指画图这一行为的直接发出者,比如人等)
private void button1_Click(object sender, EventArgs e) { //两点连接一直线 //first point Point p_1 = new Point(100, 210); //second point Point p_2 = new Point(300, 190); //pen类指定线宽和线的模式,可用各种模式填充(取决于Brush画刷,或填充对象的纹理) //工具 pen 实例化 Color颜色(注意大写) Pen p = new Pen(Color.Red); //画图对象———主体 /Graphics/类,不能实例化;其采用面向对象的封装技术,对象绘制到设备 //CreateGraphics方法获取对Graphics对象(g)的引用, Graphics g = this.CreateGraphics(); //创建控件中Graphics对象 //print line g.DrawLine(p, p_1, p_2); }
素颜 :
Graphics是一个很强大的类,他提供了非常多的绘图方法,常见的绘图方法有:
DrawLine(直线) DrawRectangle(矩形) DrawEllipse(椭圆) DrawCurye(曲线) DrawArx(弧线) DrawPie(扇形)
DrawLines(多边形) DrawPolygon(封闭多边形) DrawBezier(贝兹曲线)等等,下面再请一位friend来帮我们了解和扩展一下:
private void btnTg_Click(object sender, EventArgs e) { //画矩形 Graphics g = this.CreateGraphics(); Pen p = new Pen(Color.Blue);//蓝色 //size(sizeF结构体)有width、height属性,结构体代表浮点数类型,且可实现size到point、size到sizeF转换 //属性,三重载(宽,高) Size size = new Size(200, 150); //Rectangle(RectangleF结构体)有左上角X/Y、width、height属性 //结构,三个重载;(起点,坐标) Rectangle rec = new Rectangle(new Point (300,300),size); g.DrawRectangle(p, rec); }
外貌协会:
还有一个brush类,This little girl 比较 shy,快到最后了再结合一下例子来向大家介绍一下:
private void btnFlString_Click(object sender, EventArgs e) { //填充矩形 Graphics g = this.CreateGraphics(); Size size=new Size (200,150); //brush画刷类,指定填充区域颜色、样式,该处以绿色填充起点为(75,75)高200、宽150的Rectangle(矩形) g.FillRectangle(Brushes.Green, new Rectangle(new Point(75, 75), size)); }
庐山真面目:
此外利用G++还可以画“文本”:This is so cool
private void btnString_Click(object sender, EventArgs e) { //point F小数 Graphics g = this.CreateGraphics(); //20磅隶书,画笔颜色为紫色,起点位置(180,200) g.DrawString(" WOwa****NICE TO MEET YOU, YOU LOOK GREAT!!",new Font ("隶书",20),Brushes .Purple ,new Point (180,200)); }素颜:
上面是G++Family的主要成员,代码写的比较固定,不过利用这些大家可以自由发挥,让他们发挥自己的终极价值。
Thanks your time(*^__^*)
- G++’s Family
- Vito's Family
- 1797 Vito's family
- 10041 - Vito's Family
- uva10041 Vito's Family
- 10041 - Vito's Family
- 110401 Vito's Family
- UVA10041 - Vito's family
- uva10041Vito's Family
- uva 10041 Vito's family
- UVa 10041 - Vito's Family
- UVa 10041 - Vito's Family
- uva 10041 - Vito's Family
- UVa 10041 - Vito's Family
- UVA 10041 - Vito's Family
- uva 10041 Vito's Family
- UVa 10041 - Vito's Family
- UVA-10041- Vito's family
- su sudo gksudo-转
- HDU 5609 function
- 沃通 免费证书ssl申请步骤
- Tomcat启动过程原理详解
- LeetCode OJ - Roman to Integer
- G++’s Family
- 如何查看 JAR 包的源代码
- Ios系统应用和系统服务
- Tomcat 系统架构与设计模式,第 1 部分: 工作原理
- [Android Studio]API level
- 计算缓存大小
- 如何设计一个安全的账户系统
- 动态链接库的问题解决
- ios多媒体