C#GDI+编程基础(一:Graphics画布类)
GDI+存在的意义:将变成与具体硬件实现细节分开。
GDI+步骤:获取画布,绘制图像、处理图像
命名空间:
using System.Drawing;//提供对GDI+基本图形功能的访问
using System.Drawing.Drawing2D;//提供高级的二维和矢量图像功能
using System.Drawing.Imaging;//提供高级GDI+图像处理功能
using System.Drawing.Printing;//提供打印相关服务
using System.Drawing.Text;//提供高级GDI+排版功能
using System.Drawing.Design;//扩展设计时,用户界面逻辑和绘制的类。用于扩展,自定义
画图工具:
Graphics(画布):类封装一个GDI+绘图图面,提供将对象绘制到显示设备的方法,Graphics与特定的设备上下文关联。画图方法被包括在
Graphics类中,在画任何对象之前都需要创建一个Graphics类实例作为画图。
创建画布三种方法:
1.利用控件或窗体的Paint事件的PaintEventArgs
适用场景:为控件创建绘制代码。
示例:
//窗体的Paint事件响应方法
private void Form1_Paint(object sender, PaintEventArgs e)
{
Graphics g = e.Graphics;
}
//直接重载控件或者窗体的OnPaint方法:
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
Graphics g = e.Graphics;
}
注意:Paint事件在重绘控件时发生。
2.调用某控件或窗体的CreateGraphics方法以获取对Graphics对象的引用,该对象表示控件或窗体的绘图图面。
适用场景:在已经存在的窗体或控件上绘图
private void button1_Click(object sender, EventArgs e)
{
Graphics g = this.CreateGraphics();
g.Dispose(); }
3.由从Image继承的任何对象创建Graphics对象
适用场景:需要更改已经存在的图像
private void button1_Click(object sender, EventArgs e)
{
Image img = Image.FromFile(@"images\pic.jpg");
Graphics g=Graphics.FromImage(img);
}
Graphics类主要成员方法:
| 名称 | 说明 |
| DrawArc | 画弧 |
| DrawBezier | 画立体的贝塞尔曲线 |
| DrawBeziers | 画连续立体的贝塞尔曲线 |
| DrawClosedCurve | 画闭合曲线 |
| DrawCurve | 画曲线 |
| DrawEllipse | 画椭圆 |
| DrawImage | 画图像 |
| DrawLine | 画线 |
| DrawPath | 通过路劲画线和曲线 |
| DrawPie | 画饼图 |
| DrawPolygon | 画多边形 |
| DrawRectangle | 画矩形 |
| DrawString | 绘制文字 |
| FillEllipse | 填充椭圆 |
| FillPath | 填充路劲 |
| FillPie | 填充饼图 |
| FillPolygon | 填充多边形 |
| FillRectangle | 填充矩形 |
| FillRectangles | 填充矩形组 |
| FillRegion | 填充区域 |
C#GDI+编程基础(一:Graphics画布类)的更多相关文章
- WinForm GDI编程:Graphics画布类
命名空间: using System.Drawing;//提供对GDI+基本图形功能的访问 using System.Drawing.Drawing2D;//提供高级的二维和矢量图像功能 using ...
- GDI 编程基础简介
今天准备重新对GDI的知识进行回顾一下,以便加深认识. 一.GDI 在进行Windows编程时,可能经常会用到设备描述表的类型句柄,例如,最厂家的HDC,它就是图像设备描述类型句柄.因为GDI的绘图函 ...
- GDI编程基础
窗口和视口 视口是基于设备的采用的是设备坐标(单位:像素),窗口是基于程序的采用的是逻辑坐标(单位:像素/毫米/厘米等). 在默认的映射模式下,视口是与窗口等同的.但是如果改变其映射模式,则其对应的单 ...
- C#GDI+编程基础(二)
pen类:绘制指定宽度和样式的直线.使用DashStyle属性绘制几种虚线,可以使用各种填充样式(包括纯色和纹理)来填充Pen绘制的直线,填充模式取决于画笔或用作填充对象的纹理. 创建画笔: //用指 ...
- java并发编程基础——线程相关的类
线程相关类 java还为线程安全提供了一些工具类. 一.ThreadLocal类(Thread Local Variable) ThreadLocal类,是线程局部变量的意思.功用非常简单,就是为每一 ...
- 【读书笔记《Android游戏编程之从零开始》】12.游戏开发基础(Canvas 画布)
1.Canvas 画布 画布类 Canvas 封装了图形和图片绘制等内容,此类常用的函数说明如下: drawColor(int color) 作用:绘制颜色覆盖画布,常用于刷屏 参数:颜色值,也可用十 ...
- [.net 面向对象编程基础] (9) 类和类的实例
[.net 面向对象编程基础] (9) 类和类的实例 类 ,顾名思义就是分类.类别的意思.我们要面向对象编程,就需要对不同的事物进行分类.类可以说是.net面向对象的核心. 类:就是具有相同的属性和功 ...
- [.net 面向对象编程基础] (10) 类的成员(字段、属性、方法)
[.net 面向对象编程基础] (10) 类的成员(字段.属性.方法) 前面定义的Person的类,里面的成员包括:字段.属性.方法.事件等,此外,前面说的嵌套类也是类的成员. a.类的成员为分:静态 ...
- C#_GDI+详细教程(图形图像编程基础)
第7章 C#图形图像编程基础 本章主要介绍使用C#进行图形图像编程基础,其中包括GDI+绘图基础.C#图像处理基础以及简单的图像处理技术. 7.1 GDI+绘图基础 编写图形程序时需要使用GDI( ...
随机推荐
- Ubuntu下忘记MySQL密码重设方法
今天在做Python的实验,要用到MySQL数据库,但是密码是啥捏~~~果断重新设置密码啦啦啦 http://www.cnblogs.com/yuxc/archive/2012/07/25/26075 ...
- Git连接到Git@OSC
1.配置本地git $git config --global user.name "xxx" $git config --global user.email "xxxxx ...
- 随便聊聊 SOA & SOAP & WebService 的一些东西,以及客户端开发的代码逻辑解析
http://blog.csdn.net/hikaliv/article/details/6459779 一天的时间调通了一个 WebService 的 Java 端的 C/S.一个 Android ...
- 【原】react做tab切换的几种方式
最近搞一个pc端的活动,搞了一个多月,甚烦,因为相比于pc端,更喜欢移动端多一点.因为移动端又能搞我的react了. 今天主要总结一下react当中tab切换的几种方式,因为tab切换基本上都会用到. ...
- 初学java注解编程 记录错误及解决办法
1 :在form表单提交到controller层时 利用hbim的封装的访问数据库 form表单中属性要加上method方法 不然不成功. 2 :在运行eclipse时 有时粘贴个数据或者删除个字段老 ...
- js008-BOM
js008-BOM 本章内容: 1.理解window对象-BOM的核心 2.控制窗口.框架和弹出窗口 3.利用location对象中的页面信息 4.使用navigation对象了解浏览器 ECMASc ...
- MFC学习-第4课 消息机制和MFC作图
转自: 1.http://blog.sina.com.cn/s/blog_6b5180bf01012kbz.html 2.http://blog.csdn.net/happyhhb/article/d ...
- C++ 生成 dll 和调用 dll 的方法实例(转)
1)生成dll 建立两个文件 xxx.h , xxx.cpp xxx.h内容如下: #ifdef BUILD_XXX_DLL#define EXPORT __declspec(dllexport)#e ...
- Using Flash Builder with Flash Professional
http://help.adobe.com/en_US/flashbuilder/using/WSc5cd04c102ae3e97-6e5d439512e1414e588-8000.html
- js返回顶部
1. function scrollTop(){ $(},); } 2. $("#side-bar .gotop").click(function(){ $(},); //返回顶部 ...