• C#GDI+编程基础(二)


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

    创建画笔

    //用指定的颜色实例化一只画笔的方法如下: 
    public Pen(Color); 
    
    //用指定的画刷实例化一只画笔的方法如下: 
    public Pen(Brush); 
    
    //用指定的画刷和宽度实例化一只画笔的方法如下: 
    public Pen(Brush , float); 
    
    //用指定的颜色和宽度实例化一只画笔的方法如下: 
    public Pen(Color, float); 
    
    //实例化画笔的语句格式如下: 
    Pen pn=new Pen(Color.Blue); 
    //或者 
    Pen pn=new Pen(Color.Blue,100);


    属性成员:

    名称 说明
    Alignment 获取或设置画笔的对齐方式
    Brush 获取或者设置画笔的属性
    Color 获取或者设置画笔颜色
    Width 获取或者设置画笔的宽度

    Brush类(画刷):是一个抽象的基类,因此他不能被实例化,用它的派生类进行实例化一个画刷对象。

    结构组件:

    Point类:表示一个具体的点

    Size类:表示尺寸(像素为单位)。size结构包含宽度和高度

    Rectangle结构:一个构造函数的参数是X坐标,Y坐标,宽度和高度。另外一个构造函数参数是Point和Size。

    //用指定的位置和大小初始化Rectangle类的新实例。

    public Retangle(Point,Size);

    public Rectangle(int,int,int,int);

    属性成员:

    名称

    说明

    Bottom

    底端坐标

    Height

    矩形高

    IsEmpty

    测试矩形宽和高是否为0

    Left

    矩形左边坐标

    Location

    矩形的位置

    Right

    矩形右边坐标

    Size

    矩形尺寸.

    Top

    矩形顶端坐标

    Width

    矩形宽

    X

    矩形左上角顶点X坐标

    Y

    矩形左上角顶点Y坐标

    风格组件:

    Color类:(颜色及透明度),由透明度A 和三基色(RGB)所组成

    属性成员:

    名称

    说明

    A 

    获取此Color结构的alpha分量值,取值(0~255)。

    B 

    获取此Color结构的蓝色分量值,取值(0~255)。

    G 

    获取此Color结构的绿色分量值,取值(0~255)。

    R 

    获取此Color结构的红色分量值,取值(0~255)。

    Name 

    获取此Color结构的名称,这将返回用户定义的颜色的名称或已知颜色的名称(如果该颜色是从某个名称创建的),对于自定义的颜色,将返回RGB值。

    静态方法成员:

    名称

    说明

    FromArgb 

    从四个8位ARGB分量(alpha、红色、绿色和蓝色)值创建Color结构。

    FromKnowColor

    从指定的预定义颜色创建一个Color结构。

    FromName 

    从预定义颜色的指定名称创建一个Color结构。

    实例:

       //定义一个Bitmap
                Bitmap myBitmap = new Bitmap("c:\myimages\myimg.bmp");
                //定义一个颜色变量把在指定位置所取得的像素值存入颜色变量中
                Color c = new Color();
                //获取此Bitmap中指定像素的颜色
                c = myBitmap.GetPixel(10, 10);
                //将颜色值分解出单色分量值
                int r, g, b;
                r = c.R;
                g = c.G;
                b = c.B;

    Font类(字体风格):定义特定文本格式,包括字体,字号和字形属性。

    创建Font实例:

    //"字体名"为Font的FontFamily的字符串表示形式

    public Font(string 字体名, float 字号,FontStyle 字形)//字号和字体为可选项

    public Font(string 字体名,float 字号)

    属性成员:

    名称

    说明

    Bold

    是否为粗体。

    FontFamily

    字体成员。

    Height

    字体高。

    Italic

    是否为斜体。

    Name

    字体名称。

    Size

    字体尺寸。

    SizeInPoints

    获取此 Font对象的字号,以磅为单位。

    Strikeout

    是否有删除线。

    Style

    字体类型。

    Underline

    是否有下划线。

    Unit

    字体尺寸单位。

    重要参数:

    GraphicsPaths(路径):表示一系列连续的线条和曲线。

    创建路径:

    public GraphicsPath(System.Drawing.PointF[] pts, byte[] types, System.Drawing.Drawing2D.FillMode fillMode)

    //fillMode 填充方式 point[] 结构数组 types[] 对应点的类型 枚举PathPointType

    PathPointType枚举:

    名称

    说明

    Start

    路径起点

    Bazier

    默认贝塞尔曲线

    PathTypeMark

    遮盖点

    DashMode

    添加椭圆

    PathMarker

    路径标记

    CloseSubpath

    子路径终结点

    Bazier3

    立体贝塞尔曲线

     

    方法成员:

    名称

    说明

    AddArc

    添加圆弧

    AddBezier

    添加立方贝塞尔曲线

    AddClosedCurve

    添加闭合曲线

    AddEllipse

    添加椭圆

    AddLine

    添加线段

    AddPath

    添加路径,bool参数表示是否将添加路径的第一个图形作为当前路径最后一个图形的子成员

    AddPie

    添加扇形轮廓

    AddPolygon

    添加多边形

    AddRectangle

    添加矩形

    AddString

    添加字符串

    ClearMarkers

    清除所有标志

    CloseAllFigures

    闭合所有开放图形

    CloseFigure

    闭合当前图形

    Reverse

    反转数组各点顺序

    Reset

    清空,并做好接收准备

    StartFigure

    不闭合当前图形就开始新的图形

    GetBounds

    获得边界(矩形)

    GetLastPoint

    获得最后一个点

    Regions(组合图形):由矩形和路径组成

    创建组合图形:

    public Region(System.Drawing.Drawing2D.RegionData rgnData)

    public Region(System.Drawing.Drawing2D.GraphicsPath path)

    public Region(System.Drawing.Rectangle rect)

    public Region(System.Drawing.RectangleF rect)

    方法成员:

    名称

    说明

    Complement

    更新,以包含与参数不相交的部分

    Exclude

    更新,以仅包含内部以及与参数不想交的部分

    Union

    更新为与指定参数的并集

    Xor

    更新为与指定参数的并集与交集的差集

    Translate

    指定量偏移坐标

    Intersect

    更新为与指定参数的交集

    IsInfinite(g)

    测试此region是否在指定g上具有无限内部

    MakeEmpty

    清空

    MakeInfinite

    初始化为无限内部

  • 相关阅读:
    【分享】浅析Quora的技术架构 狼人:
    【观点】在苹果公司学到的编程技巧 狼人:
    【观点】工作效率上的错觉 狼人:
    提高编程技巧的十大方法 狼人:
    微软推出IE10第二个平台预览版 狼人:
    读取文件将 Excel 文件 转换成 CSV 文件 解决方案
    组合生成组合的生成之生成下一个组合 By ACReaper
    二叉树遍历二叉树的实现及先序、中序、后序遍历
    图片切换[置顶] 送大家几款可以运用到实际项目的flash+xml控件
    动画效果程序员的最高境界就是能够参加全球DEMO大赛
  • 原文地址:https://www.cnblogs.com/huacw/p/3775320.html
Copyright © 2020-2023  润新知