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. element-UI 中的upload组件如何添加token?

    <el-upload :show-file-list="false" :on-error="errmsg" :headers="headers& ...

  2. upload-labs通关攻略(全)

    upload-labs通关攻略 upload-labs是练习文件上传很好的一个靶场,建议把upload-labs关卡全部练习一遍 1.下载安装 下载地址 链接:https://pan.baidu.co ...

  3. Mysql教程:(五)多表查询

    多表查询 select name,student.class,student.number,maths,chinese,english from student,score where student ...

  4. 3D 穿梭效果?使用 CSS 轻松搞定

    背景 周末在家习惯性登陆 Apex,准备玩几盘.在登陆加速器的过程中,发现加速器到期了. 我一直用的腾讯网游加速器,然而点击充值按钮,提示最近客户端升级改造,暂不支持充值(这个操作把我震惊了~).只能 ...

  5. go输入Hello word

    package main import "fmt" func main() {     fmt.Println("hello word") } 输入hello ...

  6. thread pool

    thread pool import concurrent.futures import urllib.request URLS = ['http://www.foxnews.com/', 'http ...

  7. 跟着老猫来搞GO-容器(1)

    前期回顾 前面的一章主要和大家分享了GO语言的函数的定义,以及GO语言中的指针的简单用法,那么本章,老猫就和大家一起来学习一下GO语言中的容器. 数组 数组的定义 说到容器,大家有编程经验的肯定第一个 ...

  8. difflib模块详解

    1.两个字符串对比 import difflib text1=""" test1 #定义字符串 hellow my name is machanwei! difflib ...

  9. Maven中所用的Dependency查找方法

    用了Maven,所需的JAR包就不能再像往常一样,自己找到并下载下来,用IDE导进去就完事了,Maven用了一个项目依赖(Dependency)的概念,用俗话说,就是我的项目需要用你这个jar包,就称 ...

  10. 【备忘】下载Oracle 8u202及之前的商用免付费版本JDK

    访问地址: https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html 虽然是商用免付费版本,下载仍需 ...