首页 理论教育 Point和PointF的用法

Point和PointF的用法

时间:2023-10-22 理论教育 版权反馈
【摘要】:GDI+中结构最简单的是Point,在数学上它完全等价于一个二维矢量,包含两个公共整型属性,表示它与某个特定位置的水平和垂直距离。在坐标图中使用x和y,可以通过如下代码创建一个Point结构来表示:其中,属性X和Y都是可读写属性,可以在Point中直接设置这些值。PointF与Point完全相同,但X和Y属性的类型是float,而不是int。PointF用于坐标不是整数值的情况。已经为这些结构定义了数据类型转换,这样就可以把Point隐式转换为PointF。

Point和PointF的用法

GDI+中结构最简单的是Point,在数学上它完全等价于一个二维矢量,包含两个公共整型属性,表示它与某个特定位置的水平和垂直距离。

例如,为了从点A到点B,需要水平移动20个单位,并向下垂直移动10个单位。在坐标图中使用x和y,可以通过如下代码创建一个Point结构来表示:

其中,属性X和Y都是可读写属性,可以在Point中直接设置这些值。例如下面的代码:

注意(www.xing528.com)

按照惯例,水平和垂直坐标表示为小写的x和y,但是对应的Point属性是大写X和Y。这是因为在C#中,公共属性的一般约定是名称以大写字母开头。

PointF与Point完全相同,但X和Y属性的类型是float,而不是int。PointF用于坐标不是整数值的情况。已经为这些结构定义了数据类型转换,这样就可以把Point隐式转换为PointF。但是上述转换没有相应的逆过程,要把PointF转换为Point,必须显式地复制值,或使用下面的三个转换方法Round()、Truncate()和Ceiling():

在默认情况下,GDI+是以电脑屏幕上的像素为单位,Graphics对象方法把它们接收到的坐标看作其参数的方式。例如,点new Point(20,10)表示在屏幕上水平移动20个像素,向下垂直移动10个像素。通常这些像素从窗口客户区域的左上角开始测量,如上面的示例所示。但是,情况并不总是如此。例如,在某些情况下,需要以窗口的左上角作为原点来绘图,甚至以屏幕的左上角为原点。但在大多数情况下,除非文档说明书说明,否则都可以假定像素值是相对于客户区域的左上角。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈