进阶之旅(一)

前言:

从事Android开发一年半啦,只知道每天按照需求计划实现业务的逻辑,其实我知道我最差的就是绘制图形,所以从今天开始回炉重修,一点一滴重新学习,在这里记录一下。说些废话,最近在听一个广播节目,《自控力》,如今的社会真的是太浮躁啦,人们都是依赖电子产品入魔,倒是简书这里如一股清流,在这个浮躁的社会给了我一个明灯,比心,不是专业写博客的,所以排版有点乱。

工具:Androidstudio、夜神android模拟器

  • 认识Point与Canvas,画笔与画布
  • 认识Rect与RectF
先介绍Rect与RectF,下面会用到

相同点都是用于表示坐标系中的一块矩形区域,并可以对其做一些简单操作。这块矩形区域,需要用左上和右下两个坐标点表示。
区别就是精度不一样。Rect是使用int类型作为数值,RectF是使用float类型作为数值。两个类型提供的方法也不是完全一致。具体使用情况请阅读源码。

Paint:画笔
常用函数 函数简介
setARGB(int a, int r, int g, int b) 设置画笔的颜色,a代表透明度,r,g,b代表颜色值
setAlpha(int a) 设置alpha不透明度,范围为0~255
setColor(int color) 设置画笔颜色
setAntiAlias(boolean aa) 是否抗锯齿
setTextSize(float textSize) 字体大小
setStyle(Paint.style style) 设置画笔的风格,Paint.Style. FILL :实心 Paint.Style.FILL_AND_STROKE:同时实心和空心、Paint.Style.STROKE:空心
Canvas:画布
常用函数 函数简介
drawCircle(float cx, float cy, float radius,Paint paint) 绘制圆形,参数1为中心点x轴位置、参数2为中心点y轴位置、参数3为圆形半径、参数4为画笔
drawLine(float startX, float startY, float stopX, float stopY, Paint paint) 绘制直线,参数1为起点x轴坐标、参数2为起点y轴坐标、参数3为x轴终点坐标、参数4为y轴终点坐标、参数5为画笔
canvas.drawOval(new RectF(float left, float top, float right, float bottom), p) 绘制矩形,其中RectF中前两个参数表示矩形左上角点的坐标,后两个参数标示右下角点的坐标
drawRect(RectF rect, Paint paint) 绘制一块区域,参数一为RectF一个区域
drawPath(Path path, Paint paint) 绘制一个路径,参数一为Path路径对象,通过Path设置路径的起点与终点,也可绘制特殊路径线条 例如:传说中的贝塞尔曲线,只需设置对应的控制节点

代码块

@Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);
        Paint paint = new Paint()
        paint.setColor(Color.RED);// 设置红色
        canvas.drawCircle(150, 150, 50, paint);// 小圆
        paint.setAntiAlias(true);
        paint.setARGB(50,0,0,225);
        paint.setAntiAlias(false);
        canvas.drawCircle(300, 300, 100, paint);// 大圆
        RectF oval2 = new RectF(60, 100, 200, 240);// 设置个新的长方形,扫描测量
        canvas.drawArc(oval2, 200, 130, false, paint);
        //画贝塞尔曲线
        paint.setTextSize(30);
        canvas.drawText("画贝塞尔曲线:", 50, 310, paint);
        paint.reset();
        paint.setStyle(Paint.Style.STROKE);
        paint.setColor(Color.GREEN);
        paint.setStrokeWidth(5);
        Path path2=new Path();
        path2.moveTo(100, 320);//设置Path的起点
        path2.quadTo(350, 910, 670, 400); //设置贝塞尔曲线的控制点坐标和终点坐标
        canvas.drawPath(path2, paint);//画出贝塞尔曲线
    
    }
QQ图片20170802134116.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,830评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,992评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,875评论 0 331
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,837评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,734评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,091评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,550评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,217评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,368评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,298评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,350评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,027评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,623评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,706评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,940评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,349评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,936评论 2 341

推荐阅读更多精彩内容