Android -----paint cap join 理解 ,paint画笔形状设置
引自: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画笔形状设置相关推荐
- android 绘图之Path与Paint详解
/** * Paint类介绍 * * Paint即画笔,在绘图过程中起到了极其重要的作用,画笔主要保存了颜色, * 样式等绘制信息,指定了如何绘制文本和图形,画笔对象有很多设置方法, * 大体上可以分 ...
- Android中使用Canvas和Paint绘制一个安卓机器人
场景 在Android中画笔使用Paint类,画布使用Canvas类来表示. 绘图的基本步骤 首先编写一个继承自View的自定义View类,然后重写其onDraw方法,最后把自定义的view添加到ac ...
- Android学习笔记09:Paint及Canvas的简单应用
2019独角兽企业重金招聘Python工程师标准>>> Android学习笔记09:Paint及Canvas的简单应用 在Android中需要通过graphics类来显示2D图形. ...
- Paint(一):画笔基本使用
1. 设置获取图形绘制.路径相关的 1.1 设置画笔颜色 1.2 设置透明度 1.3 设置颜色 1.4 设置画笔是否抗锯齿 1.5 设置图像是否使用抖动处理,会使得绘制出来的图片更加平滑和饱满,图像更 ...
- Android之Shader完全理解指南
Shader,中文翻译着色器,老实说,我的专业不是图像处理之类的,所以我也不清楚着色器到底是干嘛的,如果非要我在字面上加以理解,通俗就是给某个机器拿着一只画笔在白纸上画东西,而这个机器就叫着色器,我也 ...
- android 涂鸦(清屏,画笔,粗细,保存)以及canvas源码学习
更新:本文的内容只是一部分,这段时间添加了橡皮擦这个新功能,于是问题接二连三的来,比如说:如果用本文的内容去做橡皮擦的话,难!(至少我没解决,不是没背景图,就是有背景图但是更新要在下一下刷橡皮擦的时候 ...
- android画笔大小,android之画板功能之橡皮擦 画笔大小和画笔颜色
第一展示设置画笔颜色的功能,第二展示设置画笔大小的颜色,而第三则展示橡皮擦的功能,这节将图标颜色设置为了蓝色,并且,增加了最左边的按钮(其实,就是在gridview中多增加了一个item). 下面分别 ...
- 【Android】图像像素点理解
学而不思则罔,思而不学则殆 [Android]图像像素点理解 前言 图像处理 -ARGB初始 原图 Alpha R值测试 G值测试 B值测试 非R值测试 非G值测试 非B值测试 高级图片处理 取反1 ...
- 【转】Android菜单详解——理解android中的Menu--不错
原文网址:http://www.cnblogs.com/qingblog/archive/2012/06/08/2541709.html 前言 今天看了pro android 3中menu这一章,对A ...
- Android菜单详解——理解android中的Menu
前言 今天看了pro android 3中menu这一章,对Android的整个menu体系有了进一步的了解,故整理下笔记与大家分享. PS:强烈推荐<Pro Android 3>,是我至 ...
最新文章
- HTML DOM那点儿事儿
- python计算precision,recall,f1-score
- tf.parse_single_example
- python中lambda的用法
- sklearn朴素贝叶斯分类器_手撕朴素贝叶斯分类器源码(Naive Bayesian)
- word选中查找到的内容
- 阿里云 linux 找回mysql root密码
- Python关键字和标识符
- 压力测试中需要掌握的几个基本概念
- 【教你快速让基本磁盘转换成动态磁盘】
- linux bzip指定名称,bzip2命令_Linux bzip2 命令用法详解:将文件压缩成bz2格式
- 前端图片文件压缩方案
- 虚拟存储管理+地址变换+软考系统架构设计师
- 2020年7月19日训练总结
- python123货币转换器_Python之美元大写转换器
- 【Linux基础编程】tr命令
- 小米笔记本“突然”不能调整屏幕亮度
- 数据结构课程主页-2016级
- C++ 实现trim函数
- 分享一个音乐API接口地址
热门文章
- 吸烟首先危害是会引起火灾,电子烟较好
- 超神学院暗物质计算机,超神学院之进击的赛亚人
- oracle ebs采购申请接口表,Oracle EBS BOM接口表操作.doc
- C# 自定义网格 dataGridView 三角箭头移动 获取当前行列序号 滚动条显示改变 滚动条定位索引
- QVector、QList、QLinkedList 类
- linux 环境变量的设置
- centos下java编程工具_centos下安装JAVA开发工具(4)------Redis
- mysql 子查询 in 多表_MySQL多表之子查询
- 为何要学习 Linux?
- SystemVerilog中fork-join三种形式的应用