1. /**    
  2. * Paint类介绍

  3. *

  4. * Paint即画笔,在绘图过程中起到了极其重要的作用,画笔主要保存了颜色,

  5. * 样式等绘制信息,指定了如何绘制文本和图形,画笔对象有很多设置方法,

  6. * 大体上可以分为两类,一类与图形绘制相关,一类与文本绘制相关。

  7. *

  8. * 1.图形绘制

  9. * setARGB(int a,int r,int g,int b);

  10. * 设置绘制的颜色,a代表透明度,r,g,b代表颜色值。

  11. *

  12. * setAlpha(int a);

  13. * 设置绘制图形的透明度。

  14. *

  15. * setColor(int color);

  16. * 设置绘制的颜色,使用颜色值来表示,该颜色值包括透明度和RGB颜色。

  17. *

  18. * setAntiAlias(boolean aa);

  19. * 设置是否使用抗锯齿功能,会消耗较大资源,绘制图形速度会变慢。

  20. *

  21. * setDither(boolean dither);

  22. * 设定是否使用图像抖动处理,会使绘制出来的图片颜色更加平滑和饱满,图像更加清晰

  23. *

  24. * setFilterBitmap(boolean filter);

  25. * 如果该项设置为true,则图像在动画进行中会滤掉对Bitmap图像的优化操作,加快显示

  26. * 速度,本设置项依赖于dither和xfermode的设置

  27. *

  28. * setMaskFilter(MaskFilter maskfilter);

  29. * 设置MaskFilter,可以用不同的MaskFilter实现滤镜的效果,如滤化,立体等       *

  30. * setColorFilter(ColorFilter colorfilter);

  31. * 设置颜色过滤器,可以在绘制颜色时实现不用颜色的变换效果

  32. *

  33. * setPathEffect(PathEffect effect);

  34. * 设置绘制路径的效果,如点画线等

  35. *

  36. * setShader(Shader shader);

  37. * 设置图像效果,使用Shader可以绘制出各种渐变效果

  38. *

  39. * setShadowLayer(float radius ,float dx,float dy,int color);

  40. * 在图形下面设置阴影层,产生阴影效果,radius为阴影的角度,dx和dy为阴影在x轴和y轴上的距离,color为阴影的颜色

  41. *

  42. * setStyle(Paint.Style style);

  43. * 设置画笔的样式,为FILL,FILL_OR_STROKE,或STROKE

  44. *

  45. * setStrokeCap(Paint.Cap cap);

  46. * 当画笔样式为STROKE或FILL_OR_STROKE时,设置笔刷的图形样式,如圆形样式

  47. * Cap.ROUND,或方形样式Cap.SQUARE

  48. *

  49. * setSrokeJoin(Paint.Join join);

  50. * 设置绘制时各图形的结合方式,如平滑效果等

  51. *

  52. * setStrokeWidth(float width);

  53. * 当画笔样式为STROKE或FILL_OR_STROKE时,设置笔刷的粗细度

  54. *

  55. * setXfermode(Xfermode xfermode);

  56. * 设置图形重叠时的处理方式,如合并,取交集或并集,经常用来制作橡皮的擦除效果

  57.   AvoidXfermode avoid = new AvoidXfermode(Color.BLUE, 10, AvoidXfermode.Mode. AVOID);

  58. 1.PorterDuff.Mode.CLEAR

       所绘制不会提交到画布上。
    2.PorterDuff.Mode.SRC

       显示上层绘制图片
    3.PorterDuff.Mode.DST

      显示下层绘制图片
    4.PorterDuff.Mode.SRC_OVER

      正常绘制显示,上下层绘制叠盖。
    5.PorterDuff.Mode.DST_OVER

      上下层都显示。下层居上显示。
    6.PorterDuff.Mode.SRC_IN

       取两层绘制交集。显示上层。
    7.PorterDuff.Mode.DST_IN

      取两层绘制交集。显示下层。
    8.PorterDuff.Mode.SRC_OUT

    取上层绘制非交集部分。
    9.PorterDuff.Mode.DST_OUT

    取下层绘制非交集部分。
    10.PorterDuff.Mode.SRC_ATOP

    取下层非交集部分与上层交集部分
    11.PorterDuff.Mode.DST_ATOP

      取上层非交集部分与下层交集部分
    12.PorterDuff.Mode.XOR

      
    13.PorterDuff.Mode.DARKEN

    14.PorterDuff.Mode.LIGHTEN

    15.PorterDuff.Mode.MULTIPLY

    16.PorterDuff.Mode.SCREEN

  59. * 2.文本绘制

  60. * setFakeBoldText(boolean fakeBoldText);

  61. * 模拟实现粗体文字,设置在小字体上效果会非常差

  62. *

  63. * setSubpixelText(boolean subpixelText);

  64. * 设置该项为true,将有助于文本在LCD屏幕上的显示效果

  65. *

  66. * setTextAlign(Paint.Align align);

  67. * 设置绘制文字的对齐方向

  68. *

  69. * setTextScaleX(float scaleX);

  70. * 设置绘制文字x轴的缩放比例,可以实现文字的拉伸的效果

  71. *

  72. * setTextSize(float textSize);

  73. * 设置绘制文字的字号大小

  74. *

  75. * setTextSkewX(float skewX);

  76. * 设置斜体文字,skewX为倾斜弧度

  77. *

  78. * setTypeface(Typeface typeface);

  79. * 设置Typeface对象,即字体风格,包括粗体,斜体以及衬线体,非衬线体等

  80. *

  81. * setUnderlineText(boolean underlineText);

  82. * 设置带有下划线的文字效果

  83. *

  84. * setStrikeThruText(boolean strikeThruText);

  85. * 设置带有删除线的效果

  86. *

  87. */

android Paint 详解的更多相关文章

  1. Android Notification 详解(一)——基本操作

    Android Notification 详解(一)--基本操作 版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 源码:AndroidDemo/Notification 文中如有纰 ...

  2. Android Notification 详解——基本操作

    Android Notification 详解 版权声明:本文为博主原创文章,未经博主允许不得转载. 前几天项目中有用到 Android 通知相关的内容,索性把 Android Notificatio ...

  3. Android ActionBar详解

    Android ActionBar详解 分类: Android2014-04-30 15:23 1094人阅读 评论(0) 收藏 举报 androidActionBar   目录(?)[+]   第4 ...

  4. Android 签名详解

    Android 签名详解 AndroidOPhoneAnt设计模式Eclipse  在Android 系统中,所有安装 到 系统的应用程序都必有一个数字证书,此数字证书用于标识应用程序的作者和在应用程 ...

  5. Android编译系统详解(一)

    ++++++++++++++++++++++++++++++++++++++++++ 本文系本站原创,欢迎转载! 转载请注明出处: http://blog.csdn.net/mr_raptor/art ...

  6. Android布局详解之一:FrameLayout

      原创文章,如有转载,请注明出处:http://blog.csdn.net/yihui823/article/details/6702273 FrameLayout是最简单的布局了.所有放在布局里的 ...

  7. 【整理修订】Android.mk详解

    Android.mk详解 1. Android.mk 的应用范围 Android.mk文件是GNU Makefile的一小部分,它用来对Android程序进行编译. 一个Android.mk文件可以编 ...

  8. Android菜单详解(四)——使用上下文菜单ContextMenu

    之前在<Android菜单详解(二)——创建并响应选项菜单>和<Android菜单详解(三)——SubMenu和IconMenu>中详细讲解了选项菜单,子菜单和图标菜单.今天接 ...

  9. Android签名详解(debug和release)

    Android签名详解(debug和release)   1. 为什么要签名 1) 发送者的身份认证 由于开发商可能通过使用相同的Package Name来混淆替换已经安装的程序,以此保证签名不同的包 ...

随机推荐

  1. es6使用场景

    es6非空判断 示例1 es5 if(value !== null && value !== undefined && value !== ''){ //... } e ...

  2. idea中的maven模块变成灰色

    问题 在使用idea的过程中,遇到其中一个maven模块变成灰色,如下所示: 解决方法 方法一 造成这个的原因可能是忽略了maven模块,可以尝试如下解决方法:在idea中maven中找到ignore ...

  3. JSON数据和Java对象的相互转换

    JSON解析器: 常见的解析器: Jsonlib, Gson, fastjson, jackson 其中应用最广泛的是jackson,阿里的fastjson虽然比jackson快一点,但存在的问题比较 ...

  4. java eclipse调试提示Source not found 或 一闪而过 解决方法

    Web工程Eclipse  debug方式启动,在断点的位置被成功拦截,但是没有跳转到工程的代码处,提示如下: 当然这个时候如果我继续按F5的话呢,程序又会接着正常运行了.到这里那就是说程序本身是没有 ...

  5. 树莓派4b安装Ubuntu20.04

    树莓派4b安装Ubuntu20.04 下载Ubuntu20.04镜像 下载地址 安装Raspberry Pi Imager 下载地址 烧录系统 打开Raspberry Pi Imager,选择自己刚刚 ...

  6. 【Mysql】表锁 行锁 记录锁 间隙锁

    Mysql中的锁 基于锁的属性分类:共享锁.排他锁. 基于锁的状态分类:意向共享锁.意向排它锁 根据锁的粒度分类:全局锁.页锁.表级锁.行锁(记录锁.间隙锁.和临键锁),实际上的锁就这些,上面两种分类 ...

  7. Django 小实例S1 简易学生选课管理系统 4 实现登录页面

    Django 小实例S1 简易学生选课管理系统 第4节--实现登录页面 点击查看教程总目录 作者自我介绍:b站小UP主,时常直播编程+红警三,python1对1辅导老师. 本文涉及到的新的额外知识点: ...

  8. js-sequence-diagrams > 时序图

    ... <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title ...

  9. C++getline()

    #include <iostream>#include <cstring>#include <string>using namespace std;int main ...

  10. [spojSUBLEX]Lexicographical Substring Search

    建立后缀自动机,对于同一个节点,出现次数是相同的(right的大小),同时满足单调性(长度越长出现次数越少),所以只需要考虑最长的串即可. PS:似乎也并不需要求依次后缀的max,不知道为什么-- 1 ...