Graphics2D API:Point类、PointF类

在Android中,绘制图形有关的类定义在android.graphics包下,本系列介绍Graphics2D涉及到的常用类,并介绍常见的绘图方法.

一、Point类、PointF类介绍

point翻译成中文为“点”,在Graphics2D中,Point、PointF类是一种最简单的结构,代表一个“点”,这两个类都实现了Parcelable接口,支持序列化与反序列化.

二、Point类

1、Point类中两个成员变量:
    public int x;
    public int y;

代表点的x坐标和y坐标.

2、图形坐标系

和数学中平面直角坐标系不同的是,Android中的图形坐标系像下面这样:


x轴:向右为正方向,向左为负方向
y轴:向下为正方向,向上为负方向
坐标原点在左上角(屏幕左上角).

所以在屏幕内的点x、y都大于0
当x或者y有一个为负数时,这个点就在屏幕之外

3、构造方法
    public Point() {}

    public Point(int x, int y) {
        this.x = x;
        this.y = y;
    }

    public Point(Point src) {
        this.x = src.x;
        this.y = src.y;
    }

可以通过提供一个(x,y)坐标初始化,也可以通过另外一个Point 对象初始化.

4、改变坐标
    /**
     * Set the point's x and y coordinates
     */
    public void set(int x, int y) {
        this.x = x;
        this.y = y;
    }

    /**
     * Negate the point's coordinates
     */
    public final void negate() {
        x = -x;
        y = -y;
    }

    /**
     * Offset the point's coordinates by dx, dy
     */
    public final void offset(int dx, int dy) {
        x += dx;
        y += dy;
    }

set()方法直接为x、y赋值
negate()方法将x、y取反(相当于以原点为中心,旋转了180°+k×360°,k为整数)
offset()方法偏移x、y值, dx与 dy的正负代表偏移的方向

三、PointF类

PointF类和Point类差不多,最大的不同就是成员变量x、y的数据类型不是int而是float,这也是类名加了“F”的原因.

点到坐标原点的距离
    /**
     * Return the euclidian distance from (0,0) to the point
     */
    public final float length() { 
        return length(x, y); 
    }
    
    /**
     * Returns the euclidian distance from (0,0) to (x,y)
     */
    public static float length(float x, float y) {
        return (float) Math.hypot(x, y);
    }

相对于Point类,PointF类增加了两个方法用来计算点到原点的距离,一个静态的,一个非静态的,虽然最终计算方法都一样.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,425评论 25 709
  • 前言 TangramKit是iOS系统下用Swift编写的第三方界面布局框架。他集成了iOS的AutoLayout...
    欧阳大哥2013阅读 9,533评论 12 74
  • 1、从服务器下载文件 scp username@servername:/path/filename /tmp/lo...
    V会飞的蜗牛阅读 498评论 0 0
  • 叶落弹终曲,秋风谱驿音。红销弦断为几人?月色依稀如故,露重沁寒林。 酒醉逢盅浅,灯歇怕夜深。梦飞情处假亦真?醒后还...
    溧儿阅读 284评论 2 5
  • 你好,北京! 再过几小时,我要见到你。 在你秋意渐浓的深夜里,我将带着专属于厦门的热浪拥抱着你。 我的火热或许会撞...
    榴莲妄凡阅读 181评论 0 2