GDI+

指的是.NET Framwork中提供的二维图像、图像处理等功能,是构成Windows操作系统的一个子系统,它提供了图形图像操作的应用程序编程接口(API)。

  • 使用GDI+可以用相同的方式在屏幕或打印机上显示信息,而无须考虑特定显示设备的细节。
  • GDI+类提供程序员用以绘制的方法,这些方法随后会调用特定设备的驱动程序。
  • GDI+将应用程序与图形硬件分隔,使程序员能够创建与设备无关的应用程序。
  • GDI+主要用于在窗体上绘制各种图像图像,可以用于绘制各种数据图形、数学仿真等。
  • GDI+可以在窗体程序中产生很多自定义的图形,便与开发人员展示各种图形化的数据。

创建Graphics对象(也称为画布对象)

1. 在Paint事件中创建Graphics对象。

Private Void Form1_Paint(object sender, PaintEventArgs e)
{
Graphics g=e.Graphics; }

2. 在窗体的Load事件中,通过CreateGraphics方法创建Graphics对象。

private Void Form1_Load(object sender, EventArgs e)
{
Graphics g;
g=this.CreateGraphics();
}

3. 在窗体的Load事件中,通过FormImage方法创建Graphics对象。

private void Form1_Load(object sender, EventArgs e)
{
Bitmap mbit=new bitmap (@"C:\ls.bmp");
Graphics g=Graphics.FromImage(mbit);
}

另,Graphics类和Bitmap类的区别:

不可能直接在 Bitmap 对象上画图的,只能先取得这个 Bitmap 的 Graphics 对象,然后在这个 Graphics 对象上操作。

Bitmap 封装 GDI+ 位图(注意:位图),是用于处理由像素数据定义的图像的对象。
Graphics 封装一个 GDI+ 绘图(注意:绘图),图面提供将对象绘制到显示设备的方法。

通俗点儿说,前者是绘画作品,后者才是真正绘画时用到的东西(比如刷子、颜料等等),两者完全不同。

GDI+绘图基础的更多相关文章

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

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

  2. MFC GDI绘图基础

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

  3. Windows GDI绘图基础知识

    一.Windows可以画直线.椭圆线(椭圆圆周上的曲线)和贝塞尔曲线.////////////7 个画线函式是:(1)画直线LineTo    BOOL LineTo(HDC hdc,int nXEn ...

  4. windows游戏编程 绘图基础

    本系列文章由jadeshu编写,转载请注明出处.http://blog.csdn.net/jadeshu/article/details/22451353 作者:jadeshu   邮箱: jades ...

  5. C#GDI+编程基础(一:Graphics画布类)

    GDI+存在的意义:将变成与具体硬件实现细节分开. GDI+步骤:获取画布,绘制图像.处理图像 命名空间: using System.Drawing;//提供对GDI+基本图形功能的访问 using ...

  6. Direct3D11学习:(七)绘图基础——彩色立方体的绘制

    转载请注明出处:http://www.cnblogs.com/Ray1024 一.概述 在前面的几篇文章中,我们详细介绍了Direct3D渲染所需要的数学基础和渲染管道理论知识.从这篇文章开始,我们就 ...

  7. C#-gdi绘图,双缓冲绘图,Paint事件的触发

    一. 画面闪烁问题与双缓冲技术 1.1 导致画面闪烁的关键原因分析: 1  绘制窗口由于大小位置状态改变进行重绘操作时 绘图窗口内容或大小每改变一次,都要调用Paint事件进行重绘操作,该操作会使画面 ...

  8. GDI+ 绘图闪烁解决方法

    闲着没事,准备做一个类似于TeeChart的自定义控件,结果第一步的绘图就把我给难倒了,虽然早就知道GDI绘图的闪烁问题很坑,但是却没有想到如此之坑,折腾了两天,才找到解决方法. 首先在窗体加载的时候 ...

  9. VS2013中使用GDI+绘图

    VC范例,400多个例子源代码下载 http://download.csdn.net/detail/bigtree_mfc/7727977 VS2013中使用GDI+绘图和VC6.0不同,在VC6.0 ...

随机推荐

  1. 基于spring及zookeeper的dubbo工程搭建

    一.生产者搭建 新建一个maven工程,勾选Create a simple project Packaging方式选择jar包的方式. 修改pom.xml文件: <project xmlns=& ...

  2. python函数之sorted与sort

    Python list内置sort()方法用来排序,也可以用python内置的全局sorted()方法来对可迭代的序列排序生成新的序列. sorted(iterable,key=None,revers ...

  3. 如何测试远端TCP和UDP端口是否开放

    项目遇到问题时首先排查网络是否正常是一个重要的方面.遇到很多次,同事找我解决问题,最后发现却是IP或端口不通的问题.然而就是这么个简单的问题,对方却花费了甚至一天的时间排查原因. 现在大部分项目都是用 ...

  4. laravel的小坑

    写控制器的名的时候只能出现一个首写大写字母, 后面的都为小写字母 否则会报找不到该控制器的错误

  5. Day2-Python基础2---集合和文件操作

    一.集合操作 集合是一个无序的,不重复的数据组合,它的主要作用如下: 去重,把一个列表变成集合,就自动去重了 关系测试,测试两组数据之前的交集.差集.并集等关系 s = set([1,4,5,7,3, ...

  6. install 命令

    install命令的作用是安装或升级软件或备份数据,它的使用权限是所有用户.install命令和cp命令类似,都可以将文件/目录拷贝到指定的地点.但是,install允许你控制目标文件的属性.inst ...

  7. DCloud-流应用:杂项

    ylbtech-DCloud-流应用:杂项 1.返回顶部   2.返回顶部   3.返回顶部   4.返回顶部   5.返回顶部     6.返回顶部   7.返回顶部   8.返回顶部   9.返回 ...

  8. C# Remoting 简单实现

    此处下载源代码(VS2010编译通过)   http://files.cnblogs.com/files/qqhfeng/%E8%BF%9C%E7%A8%8B%E8%B0%83%E7%94%A8%E6 ...

  9. leetcode424

    public class Solution { public int CharacterReplacement(string s, int k) { int len = s.Length; ]; , ...

  10. VC++ 6.0 快捷键

    多行注释的快捷键    详细步骤 工具栏上右键-〉Customize-〉“Add-ins and Macro Files”tab页,把SAMPLE前面打上钩-〉“Commands”tab页,Categ ...