python坐标系教程_c#教程之GDI+中三种坐标系统

https://www.xin3721.com/eschool/

5.1       GDI+中三种坐标系统:

GDI+定义了三种坐标系统,并提供了三种坐标转换的方法Graphics.TransformPoints()。

l 全局坐标系统。

l 页面(Page)坐标系统:左上角为原点,横向x轴向右为正方向,纵向y轴向下为正方向。单位为像素。这是默认的坐标系统。

l 设备坐标系统:可以指定特定测量单位的页面(Page)坐标系统。如果单位为像素,和页面(Page)坐标系统相同。

5.2       GDI+中常用的结构

本节介绍GDI+中常用的结构,包括:Point、PointF、Size、SizeF、Rectangle、RectangleF、Color等。它们都在名字空间System.Drawing中定义的。

5.4.1 结构Point和PointF

点结构有两个成员:X,Y,表示点的x轴和y轴的坐标。其常用构造函数如下:

Point p1=new Point(int X,int Y);//X,Y为整数

PointF p2=new PointF(float X,floa Y);//X,Y为浮点数

5.4.2 结构Size和SizeF

Size和SizeF用来表示尺寸大小,有两个成员:Width和Height。常用构造函数如下:

public Size(int width,int height);

public SizeF(float width,float height);

5.4.3 结构Rectangle和RectangleF

结构Rectangle和RectangleF用来表示一个矩形,常用属性如下:

l Top:Rectangle结构左上角的y坐标。

l Left:Rectangle结构左上角的x坐标。

l Bottom:Rectangle结构右下角的y坐标。

l Right:Rectangle结构右下角的x坐标。

l Width:获取或设置此Rectangle结构的宽度。

l Height:获取或设置此Rectangle结构的高度。

l Size:获取或设置此Rectangle的大小。

l X:获取或设置此Rectangle结构左上角的x坐标。

l Y:获取或设置此Rectangle结构左上角的y坐标。

其常用构造函数为:

//参数为矩形左上角坐标的点结构location和代表矩形宽和高的Size结构size

Rectangle(Point location,Size size);//参数也可为PointF和SizeF

//参数为矩形左上角x和y坐标,宽,高

Rectangle(int X,int Y,int width,int height);//X和Y也可为float

5.4.4 结构Color

Color结构表示颜色,结构中包含一个无符号32位数代表颜色。任何一种颜色可以用透明度(al),蓝色(bb),绿色(gg),红色(rr)合成,格式为0xalrrbbgg,其中al,bb,gg,rr为0到255间的二进制数。常用方法如下:

l public static Color FromArgb(int alpha,int rr,int gg,int bb);

从四个分量(透明度、红色、绿色和蓝色)值创建Color结构。每个分量的值仅限于8位(小于256)。alpha值表示透明度,=0为完全透明,=255为完全不透明

l public static Color FromArgb(int rr,int gg,int bb);

从指定的8位颜色值(红色、绿色和蓝色)创建Color结构。透明度值默认为255(完全不透明)。每个分量的值仅限于8位(小于256)。红色为(255,0,0),绿色为(0,255,0),蓝色为(0,0,255)。

l public static Color FromArgb(int alpha,Color color);

从指定的Color结构创建新Color结构,使用新指定的透明度值alpha。alpha值仅限于8位。透明度及颜色的使用方法的例子如下:

private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)

{  Graphics g=e.Graphics;

SolidBrush RedBrush=new SolidBrush(Color.FromArgb(128,255,0,0));//半透明

SolidBrush GreenBrush=new SolidBrush(Color.FromArgb(128,0,255,0));

SolidBrush BlueBrush=new SolidBrush(Color.FromArgb(128,0,0,255));

g.FillRectangle(RedBrush,0,0,80,80);

g.FillRectangle(GreenBrush,40,0,80,80);

g.FillRectangle(BlueBrush,20,20,80,80);

}

效果如右图,可以将透明度alpha值设为255,再运行一次,看看有何不同。C#中还预定义了一些颜色常数,例如黑色为Color.Black,红色为Color.Red等等,可用帮助察看。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值