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

填充区域

WinForm GDI编程:Graphics画布类

命名空间: using System.Drawing;//提供对GDI+基本图形功能的访问 using System.Drawing.Drawing2D;//提供高级的二维和矢量图像功能 using ...

GDI 编程基础简介

今天准备重新对GDI的知识进行回顾一下,以便加深认识. 一.GDI 在进行Windows编程时,可能经常会用到设备描述表的类型句柄,例如,最厂家的HDC,它就是图像设备描述类型句柄.因为GDI的绘图函 ...

C#GDI+编程基础(二)

pen类:绘制指定宽度和样式的直线.使用DashStyle属性绘制几种虚线,可以使用各种填充样式(包括纯色和纹理)来填充Pen绘制的直线,填充模式取决于画笔或用作填充对象的纹理. 创建画笔: //用指 ...

【读书笔记《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( ...

GDI+(一):GDI+ 绘图基础

一.GDI+绘图基础 编写图形程序时需要使用GDI(Graphics Device Interface,图形设备接口),从程序设计的角度看,GDI包括两部分:一部分是GDI对象,另一部分是GDI函数. ...

MFC GDI绘图基础

一.关于GDI的基本概念 什么是GDI? Windows绘图的实质就是利用Windows提供的图形设备接口GDI(Graphics Device Interface)将图形绘制在显示器上. 在Wind ...

随机推荐

H5 表格的结构

一步一步学习Unity3d学习笔记系1.1

最近开始在学习Unity3D,在网上找到了一些教程利用晚上回家休息的时间自学了一下,我就是一个小白,对Unity3D什么都不懂,可能需要一些美工的功底.刚好有点,需要点编程的基础,也好我也有点,对C# ...

ps 网页布局

910  1680  找一个页面作为参考   双击小手回到正常视角 新建组  把他们放到一个组里  新建组改名(创意专家)  放入一个图片 内发光投影  Shiftalt  复制 新建组  改名创意案 ...

c# 搭建服务端 byte[] 处理(3)

数据的传输中,为防止数据传输过程中被获取解析 造成数据的不安全,一般都会采取各类的方式对数据进行加密.压缩等操作,在客户端或服务端以相同的算法解析即可获得数据,一定程度上减小了数据在中间过程被获取数据 ...

leetcode解析回文子串拆分

转载请注明来自souldak,微博:@evagle Given a string s, partition s such that every substring of the partition i ...

SharePoint Server 2010 删除Web应用

SharePoint Server 2010 删除Web应用         因为之前的测试.在SharePointserver创建于非常多Web应用(我是在本机Win7系统上安装的SharePoin ...

windows如何向阿里云服务器传递文件

一,前提说明 最近搞了一个阿里云服务器玩玩,打算自己搞一个小网站什么的. 然后再阿里云上花9.9买了半年的服务器. 服务器版本是 ubuntu_16_04. 二.目标是往阿里云服务器上上传本地文件. ...

spring data jpa 组合条件查询封装

/** * 定义一个查询条件容器 * @author lee * * @param */ public class Criteria implements Spe ...

如何理解opencv, python-opencv 和 libopencv?

转:   OpenCV is a computer vision library written using highly optimized C/C++ code. It makes use of ...

c#创建画布_C#GDI+编程基础(一:Graphics画布类)相关推荐

  1. C#GDI+编程基础

    C#GDI+编程基础(一) C#GDI+基础(二)画刷详解 C#GDI+图像处理 转载于:https://www.cnblogs.com/halou/archive/2013/02/18/291626 ...

  2. python(11)—— 面向对象编程基础(对象,类,属性,封装,继承,多态)

    把一组数据结构和处理它们的方法组成对象(object),把相同行为的对象归纳为类(class),通过类的封装(encapsulation)隐藏内部细节,通过继承(inheritance)实现类的特化( ...

  3. c#创建画布_c# GDI+简单绘图(四) 简易画板功能

    前几篇我已经向大家介绍了如何使用GDI+来绘图,并做了一个截图的实例,这篇我向大家介绍下如何来做一个类似windows画图的工具. 个人认为如果想做一个功能强大的绘图工具,那么单纯掌握GDI还远远不够 ...

  4. c语言中指数形式怎么表示_C语言编程基础知识汇总学习,适合初学者!

    我们用一个简单的c程序例子,介绍c语言的基本构成.格式.以及良好的书写风格,加深小伙伴们对C语言的认识. 例1:计算两个整数之和的c程序: #include main() { int a, ...

  5. MFC使用GDI+编程设置

    VC2005"项目/*属性"菜单项,打开项目的属性页窗口,先选"所有配置",再选"配置属性/链接器/输入"项,在右边上部的"附加依 ...

  6. MFC——11.GDI 2D编程基础

    从这期开始,文章参考了毛星云老师的Windows游戏编程之从零开始.并结合前面孙鑫老师讲述的MFC编程做了一些小的程序示例. Lesson11:GDI 2D编程基础 GDI 2D编程是游戏编程中的重要 ...

  7. c语言编程基础课件,第7章_C语言图形编程基础课件

    第7章_C语言图形编程基础课件 狭义的组织变革是指组织根据外部环境的变化和内部情况的变化及时地改变自己的内在组织结构,以适应客观发展的需要. 狭义的组织变革是指组织根据外部环境的变化和内部情况的变化及 ...

  8. uint32是什么数据类型_C++编程基础: 4. 数据类型

    本系列文章是配合我发布的<C++编程基础>系列视频教程的知识点总结和补充. 在声明常量变量或定义有返回值的函数时,都需要告诉系统这些数据的类型是什么,在程序设计之初就该想清楚所用数值该对应 ...

  9. MFC GDI绘图基础

    一.关于GDI的基本概念 什么是GDI? Windows绘图的实质就是利用Windows提供的图形设备接口GDI(Graphics Device Interface)将图形绘制在显示器上. 在Wind ...

最新文章

  1. 操作系统学习:启动进入实模式
  2. 关于node.js的进程管理
  3. Android CardView 开发过程中要注意的细节
  4. 塞尔达传说gba_【译介】塞尔达传说:不可思议的帽子2004年开发者访谈
  5. 【数据结构与算法】最小生成树--Kruskal算法 Prim算法
  6. java电子商务源码解读 b2b2c o2o
  7. Unplugged In Newyork
  8. 【XSY2731】Div 数论 杜教筛 莫比乌斯反演
  9. vue学习笔记-10-常用特性之表单操作
  10. XSD文件详解(以Maven为例)
  11. golang Windows下编译linux可执行文件
  12. 网页制作中PS图像处理的应用
  13. MQTT再学习 -- 搭建MQTT服务器及测试
  14. 即时配送,对接闪送预下单接口,报“签名校验失败”
  15. java阿里面试官直接告诉你录取答案,你还在犹豫那就晚了
  16. 有哪些能支持epub、txt格式的电子书阅读器?能在MAC上用的?
  17. RCTF2019web题目复现之rblog和ez4cr
  18. 【FPGA学习记录1】异步FIFO的介绍
  19. 【Excel自动化办公Part4】:调整字体与样式的操作——字体、边框、对齐格式、颜色填充
  20. 为什么现在计算机所有专业的研究生基本都搞机器学习和深度学习,国内真的需要这么多会人工智能的人才吗?...

热门文章

  1. 春江水暖鸭先知,不破楼兰誓不还
  2. 在线问答系统html模板,问答系统网站模板
  3. 已解决:Failure to find com.oracle:ojdbc6:jar:11.2.0.4.0-atlassian-hosted
  4. 得到app文稿导出_得到app
  5. 好的博客学习的地址【持续更新中】
  6. linux lilo_LInux装箱商(LILO)| 免费和开源软件
  7. activiti+testng批量测试用例-请假流程
  8. JS学习笔记六:js中的DOM操作
  9. 虚拟机介绍与使用(VMware Workstation)
  10. access设计视图打不开_15、ACCESS总计查询(分组查询)设计(ACCESS图解操作系列)...