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. 快速排序--洛谷卡TLE后最终我还是选择了三向切割

    写在前边 这篇文章呢,我们接着聊一下排序算法,我们之前已经谈到了简单插入排序 和ta的优化版希尔排序,这节我们要接触一个更"高级"的算法了--快速排序. 在做洛谷的时候,遇到了一道 ...

  2. 组件通过props属性传值

    组件之间的传值 组件是一个单独功能模块的封装,有属于自己的data和methods,一个组件的 data 选项必须是一个函数 为什么必须是函数:因为只有当data是函数时,不同实例调用同一个组件时才会 ...

  3. Vue组件传值prop验证方式

    在Vue组件开发过程中,父组件要经常给子组件传递数据,在传递数据的过程中,子组件可以使用prop来接收父组件传递的值,同时呢,我们可以为组件的 prop 指定验证要求,例如你知道的这些类型.如果有一个 ...

  4. 实用QPS和TPS高的高效分析方法

    现在主库的MySQL的QPS一直在3K/s左右,想知道其到底执行了那些SQL,或者是那些SQL执行的次数比较多: 腾讯云的后台监控: 开启腾讯云的SQL审计后,下载几分钟SQL日志文件, 下列语句在M ...

  5. 一个初步的lilypond模板

    代码文档在下方,涉及了许多基本的文档操作,包括: 1)页面设置,包括纸张大小.页边距 2)段落设置,包括不同内容之间的行距 3)乐谱设置,包括设置谱子大小.谱号.调号.拍号,甚至还有拍号/小节线不可见 ...

  6. CSS-sprit 雪碧图

    CSS-sprit 雪碧图  可以将 多个小图片统一保存到一个大图片中,然后通过调整background-position来显示响应的图片        这样图片会同时加载到网页中 就可以避免出现闪烁 ...

  7. 解决fatal: unable to access '': Failed to connect to 127.0.0.1 port 1181: Connection refused的问题

    今天把项目提交的git远程的时候遇到一个问题 fatal: unable to access '': Failed to connect to 127.0.0.1 port 1181: Connect ...

  8. pm2 重启策略(restart strategies)

    使用 PM2 启动应用程序 时,应用程序会在自动退出.事件循环为空 (node.js) 或应用程序崩溃时自动重新启动. 但您也可以配置额外的重启策略,例如: 使用定时任务重新启动应用程序 文件更改后重 ...

  9. 【贾志豪NOIP模拟题】慰问员工 cheer 【最小生成树】【对边权值的一些处理】

    Description LongDD 变得非常懒, 他不想再继续维护供员工之间供通行的道路. 道路被用来连接 N(5 <= N <= 10,000)个房子, 房子被连续地编号为 1..N. ...

  10. NOIP 2020 游记

    第一次写比赛游记,请多多指教! I. 考前 由于最近参加了太多太多比赛了,所以没有敲模板题: 考前一周:主要是在做 AtCoder 的题和 xjoi 的模拟赛,相当于恶补了一些套路吧! 考前一天:上午 ...