zoukankan      html  css  js  c++  java
  • GDI+应用

    GDI+:Graphics Device Interface Plus也就是图形设备接口,提供了各种丰富的图形图像处理功能;在C#.NET中,使用GDI+处理二维(2D)的图形和图像,使用DirectX处理三维(3D)的图形图像,图形图像处理用到的主要命名空间是System . Drawing:提供了对GDI+基本图形功能的访问,主要有Graphics类、Bitmap类、从Brush类继承的类、Font类、Icon类、Image类、Pen类、Color类等.
    大概了解了什么是GDI+后,我们来看一下绘图要用到的主要工具,要画图,肯定要画板吧,在C#中画板可以通过Graphics这个类来创建,有了画板,总得弄个笔什么之类的吧,不然怎么画呀,难不成我们用手指画.笔又可以分好多种类,比如铅笔,画刷等.它们的区别主要是铅笔可以用来画线条,而画刷呢,嘿嘿,自己考虑下.在c#中我们可以用Pen,Brush类来实现类似功能.颜料则自然是用Color类了.
    有了工具,我们就可以开始动手了!(所需命名空间:using System.Drawing;)
    实现效果:在空白窗体中画基本图形
    首先准备一个画板:
    创建一个画板主要有3种方式:
    A: 在窗体或控件的Paint事件中直接引用Graphics对象 
    B: 利用窗体或某个控件的CreateGraphics方法
    C: 从继承自图像的任何对象创建Graphics对象
    这次我们就先以A为例说明问题:

    复制代码代码如下:

    private void Form1_Paint(object sender, PaintEventArgs e)
            {
                Graphics g = e.Graphics; //创建画板,这里的画板是由Form提供的.
            }


    然后,我们要只笔:

    复制代码代码如下:

    private void Form1_Paint(object sender, PaintEventArgs e)
            {
                Graphics g = e.Graphics; //创建画板,这里的画板是由Form提供的.
                Pen p = new Pen(Color.Blue, 2);//定义了一个蓝色,宽度为的画笔
            }


    接下来我们就可以来画画了.

    复制代码代码如下:

    private void Form1_Paint(object sender, PaintEventArgs e)
            {
                Graphics g = e.Graphics; //创建画板,这里的画板是由Form提供的.
                Pen p = new Pen(Color.Blue, 2);//定义了一个蓝色,宽度为的画笔
                g.DrawLine(p, 10, 10, 100, 100);//在画板上画直线,起始坐标为(10,10),终点坐标为(100,100)
                g.DrawRectangle(p, 10, 10, 100, 100);//在画板上画矩形,起始坐标为(10,10),宽为,高为
                g.DrawEllipse(p, 10, 10, 100, 100);//在画板上画椭圆,起始坐标为(10,10),外接矩形的宽为,高为
            }


    效果图如下所示:

  • 相关阅读:
    iOS开发自定义转场动画
    自定义UICollectionViewLayout之CATransform3D
    iOS开发CATransform3D.h属性详解和方法使用
    iOS开发CGImage.h简介
    iOS开发使用UIScrollView随笔
    iOS界面动画特效
    iOS绘制线条的使用
    iOS开发本地推送(iOS10)UNUserNotificationCenter
    iOS开发本地推送
    iOS开发NSFetchedResultsController的使用CoreData和TableView数据同步更新
  • 原文地址:https://www.cnblogs.com/zhangruifeng/p/6010508.html
Copyright © 2011-2022 走看看