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. Redis安装、配置和卸载

    1.安装 mkdir /usr/local/redis 添加目录 wget [http://download.redis.io/releases/redis-4.0.1](http://downloa ...

  2. ES6-变量的解构赋值复习+学习

    ES6------变量的解构赋值 由于之前学过ES6的解构赋值,但是只是略看了一点网上的视频,所以今天就看了看ES6对这一部分的详细介绍,然后做一个总结的笔记. 首先,先大概说一下什么是变量的解构赋值 ...

  3. win10+MX350显卡+CUDA10.2+PyTorch 安装过程记录 深度学习环境配置

    https://blog.csdn.net/m0_37867091/article/details/105788637

  4. 【java + selenium3】窗口基本操作及8大定位元素方法总结(一)

    一.窗口基本操作 1. 关于窗口的设置都是由window对象提供的: 获取window的对象方法: driver.manage().window(); //1.获取 window 对象 Window ...

  5. 手撸一个IOC容器

    IoC 什么是IoC? IoC是Inversion of Control(控制反转)的简称,注意它是一个技术思想.描述的是对象创建.管理的事情. 传统开发方式:比如类A依赖类B,往往会在类A里面new ...

  6. git clone报错处理

    git clone过大的仓库时会报以下错误 remote: aborting due to possible repository corruption on the remote side. fat ...

  7. 为什么建议使用你 LocalDateTime ,而不是 Date?

    在项目开发过程中经常遇到时间处理,但是你真的用对了吗,理解阿里巴巴开发手册中禁用static修饰SimpleDateFormat吗 通过阅读本篇文章你将了解到: 为什么需要LocalDate.Loca ...

  8. JAVA学习(七)

    今天讲师又讲了一个多小时类的注意点,例如书写格式什么的,这些我c++中都学过了,所以很快看完. 然后又讲了IDE,我选择的是IntelliJ IDEA. 刚开始官网登不上去,花了一个小时,从网上翻了各 ...

  9. [第二章]c++学习笔记5(构造函数和析构函数调用时机)

    示例函数 注:输出并不一定从main函数开始,如全局对象的初始化在main函数前执行,如构造函数中存在输出,则从构造函数的输出开始 此处6被类型转换构造函数的存在转换为临时对象赋值,而在这个过程结束后 ...

  10. opa gatekeeper笔记:AdmissionReview input.request请求对象结构

    官方:https://v1-17.docs.kubernetes.io/zh/docs/reference/access-authn-authz/extensible-admission-contro ...