引自:http://www.2cto.com/kf/201501/370215.html

网上查了很多资料,对paint的里面的枚举类cap join讲的不是很透彻。在这里自己做一个比较深入的研究。

首先说Cap,比较形象的解释就是 用来控制我们的画笔在离开画板时候留下的最后一点图形,比如矩形,圆形等。不懂?那接着往下看。

先看看源码:

/**  * The Cap specifies the treatment for the beginning and ending of
* stroked lines and paths. The default is BUTT.  */
public enum Cap {  /**      * The stroke ends with the path, and does not project beyond it.      */  BUTT    (0),  /**      * The stroke projects out as a semicircle, with the center at the      * end of the path.      */ ROUND   (1),  /**      * The stroke projects out as a square, with the center at the end      * of the path.      */  SQUARE  (2);    private Cap(int nativeInt) {  this.nativeInt = nativeInt;   }     final int nativeInt; } 

和Cap类似,看源码也就看出了默认是MITER,其他具体形状还是难以理解。接着看图:

MITER
ROUND
BEVEL

上表就是三种样式的区别,区别明显,在此不再赘述。

引用:

* setStrokeCap(Paint.Cap cap);   * 当画笔样式为STROKE或FILL_OR_STROKE时,设置笔刷的图形样式,如圆形样式   * Cap.ROUND,或方形样式Cap.SQUARE    *    * setSrokeJoin(Paint.Join join);   * 设置绘制时各图形的结合方式,如平滑效果等   

paint 默认画笔为矩形,即如果要用圆形画笔,则在paint定义里面加上

    paint.setStrokeJoin(Paint.Join.ROUND);    paint.setStrokeCap(Paint.Cap.ROUND);

如果想要从圆形切换成矩形需要

paint.setStrokeJoin(Paint.Join.MITER);
paint.setStrokeCap(Paint.Cap.SQUARE);

主要是下面一句

转载于:https://www.cnblogs.com/Anita9002/p/4244587.html

Android -----paint cap join 理解 ,paint画笔形状设置相关推荐

  1. android 绘图之Path与Paint详解

    /** * Paint类介绍 * * Paint即画笔,在绘图过程中起到了极其重要的作用,画笔主要保存了颜色, * 样式等绘制信息,指定了如何绘制文本和图形,画笔对象有很多设置方法, * 大体上可以分 ...

  2. Android中使用Canvas和Paint绘制一个安卓机器人

    场景 在Android中画笔使用Paint类,画布使用Canvas类来表示. 绘图的基本步骤 首先编写一个继承自View的自定义View类,然后重写其onDraw方法,最后把自定义的view添加到ac ...

  3. Android学习笔记09:Paint及Canvas的简单应用

    2019独角兽企业重金招聘Python工程师标准>>> Android学习笔记09:Paint及Canvas的简单应用 在Android中需要通过graphics类来显示2D图形. ...

  4. Paint(一):画笔基本使用

    1. 设置获取图形绘制.路径相关的 1.1 设置画笔颜色 1.2 设置透明度 1.3 设置颜色 1.4 设置画笔是否抗锯齿 1.5 设置图像是否使用抖动处理,会使得绘制出来的图片更加平滑和饱满,图像更 ...

  5. Android之Shader完全理解指南

    Shader,中文翻译着色器,老实说,我的专业不是图像处理之类的,所以我也不清楚着色器到底是干嘛的,如果非要我在字面上加以理解,通俗就是给某个机器拿着一只画笔在白纸上画东西,而这个机器就叫着色器,我也 ...

  6. android 涂鸦(清屏,画笔,粗细,保存)以及canvas源码学习

    更新:本文的内容只是一部分,这段时间添加了橡皮擦这个新功能,于是问题接二连三的来,比如说:如果用本文的内容去做橡皮擦的话,难!(至少我没解决,不是没背景图,就是有背景图但是更新要在下一下刷橡皮擦的时候 ...

  7. android画笔大小,android之画板功能之橡皮擦 画笔大小和画笔颜色

    第一展示设置画笔颜色的功能,第二展示设置画笔大小的颜色,而第三则展示橡皮擦的功能,这节将图标颜色设置为了蓝色,并且,增加了最左边的按钮(其实,就是在gridview中多增加了一个item). 下面分别 ...

  8. 【Android】图像像素点理解

    学而不思则罔,思而不学则殆 [Android]图像像素点理解 前言 图像处理 -ARGB初始 原图 Alpha R值测试 G值测试 B值测试 非R值测试 非G值测试 非B值测试 高级图片处理 取反1 ...

  9. 【转】Android菜单详解——理解android中的Menu--不错

    原文网址:http://www.cnblogs.com/qingblog/archive/2012/06/08/2541709.html 前言 今天看了pro android 3中menu这一章,对A ...

  10. Android菜单详解——理解android中的Menu

    前言 今天看了pro android 3中menu这一章,对Android的整个menu体系有了进一步的了解,故整理下笔记与大家分享. PS:强烈推荐<Pro Android 3>,是我至 ...

最新文章

  1. HTML DOM那点儿事儿
  2. python计算precision,recall,f1-score
  3. tf.parse_single_example
  4. python中lambda的用法
  5. sklearn朴素贝叶斯分类器_手撕朴素贝叶斯分类器源码(Naive Bayesian)
  6. word选中查找到的内容
  7. 阿里云 linux 找回mysql root密码
  8. Python关键字和标识符
  9. 压力测试中需要掌握的几个基本概念
  10. 【教你快速让基本磁盘转换成动态磁盘】
  11. linux bzip指定名称,bzip2命令_Linux bzip2 命令用法详解:将文件压缩成bz2格式
  12. 前端图片文件压缩方案
  13. 虚拟存储管理+地址变换+软考系统架构设计师
  14. 2020年7月19日训练总结
  15. python123货币转换器_Python之美元大写转换器
  16. 【Linux基础编程】tr命令
  17. 小米笔记本“突然”不能调整屏幕亮度
  18. 数据结构课程主页-2016级
  19. C++ 实现trim函数
  20. 分享一个音乐API接口地址

热门文章

  1. 吸烟首先危害是会引起火灾,电子烟较好
  2. 超神学院暗物质计算机,超神学院之进击的赛亚人
  3. oracle ebs采购申请接口表,Oracle EBS BOM接口表操作.doc
  4. C# 自定义网格 dataGridView 三角箭头移动 获取当前行列序号 滚动条显示改变 滚动条定位索引
  5. QVector、QList、QLinkedList 类
  6. linux 环境变量的设置
  7. centos下java编程工具_centos下安装JAVA开发工具(4)------Redis
  8. mysql 子查询 in 多表_MySQL多表之子查询
  9. 为何要学习 Linux?
  10. SystemVerilog中fork-join三种形式的应用