Paint的用法

来源:互联网 发布:巨人网络为什么倒闭 编辑:程序博客网 时间:2024/05/14 18:42

转自:http://blog.csdn.net/duguang77/article/details/40716921

(一)获取Paint

[java] view plain copy 在CODE上查看代码片
  1. Paint paint = new Paint();  

(二)Paint的API


[java] view plain copy 在CODE上查看代码片派生到我的代码片
  1. // paint恢复为默认设置。  
  2. paint.reset();  
  3.   
  4. // 从src目录中装载一种画笔的样式  
  5. paint.set(src);  
  6.   
  7. // 设置画笔的透明度  
  8. paint.setAlpha(a);  
  9.   
  10. // 设置画笔的抗锯齿情况,使画笔更为圆滑  
  11. paint.setAntiAlias(aa);  
  12.   
  13. // 设个画笔的ARGB颜色色值  
  14. paint.setARGB(a, r, g, b);  
  15.   
  16. // 设置画笔的颜色  
  17. paint.setColor(color);  
  18.   
  19. // 设置画笔的过滤器  
  20. paint.setColorFilter(filter);  
  21.   
  22. // 设置清除抖动对图像的影响,会使绘制出来的图片图像更加清晰,颜色更加平滑和饱满.  
  23. paint.setDither(dither);  
  24.   
  25. // 设置粗体文字,注意设置在小字体上效果会非常差  
  26. paint.setFakeBoldText(fakeBoldText);  
  27.   
  28. // 如果该项设置为true,则图像在动画进行中会滤掉对Bitmap图像的优化操作,加快速度显示  
  29. // 注意:本设置项依赖于dither和xfermode的设置  
  30. paint.setFilterBitmap(filter);  
  31.   
  32. // 给画笔做上标记,以便直接复用  
  33. paint.setFlags(flags);  
  34.   
  35. // 设置画笔的隐藏模式  
  36. paint.setHinting(mode);  
  37.   
  38. // 设置线性文本  
  39. paint.setLinearText(linearText);  
  40.   
  41. // 设置MaskFilter,可以用不同的MaskFilter实现滤镜的效果,如滤化,立体等  
  42. paint.setMaskFilter(maskfilter);  
  43.   
  44. // 设置绘制路径的效果,如点画线等  
  45. paint.setPathEffect(effect);  
  46.   
  47. // 设置或清除的光栅对象。  
  48. // 通过空清除任何以前的光栅化。为方便起见,传递的参数也回来了。  
  49. paint.setRasterizer(rasterizer);  
  50.   
  51. // 设置或清除渲染对象。  
  52. // 通过空清以前的任何材质。为方便起见,传递的参数也回来了。  
  53. paint.setShader(shader);  
  54.   
  55. // 这原图层下面设置阴影层,产生阴影效果,radius为阴影的角度,dx和dy为阴影在x轴和y轴上的距离,color为阴影的颜色。如果半径为0,然后一层阴影去除。  
  56. paint.setShadowLayer(radius, dx, dy, color);  
  57.   
  58. // 设置画笔带有删除线效果的  
  59. paint.setStrikeThruText(strikeThruText);  
  60.   
  61. // 当画笔样式为STROKE或FILL_OR_STROKE时,设置笔刷的图形样式,如圆形样式  
  62. // Cap.ROUND,或方形样式Cap.SQUARE  
  63. paint.setStrokeCap(cap);  
  64.   
  65. // 设置笔画的倾斜度  
  66. paint.setStrokeMiter(miter);  
  67.   
  68. // 设置画笔结合处的样式,Miter:结合处为锐角, Round:结合处为圆弧:BEVEL:结合处为直线。  
  69. paint.setStrokeJoin(join);  
  70.   
  71. // 当画笔是空心样式时,设置画笔空心的宽度  
  72. paint.setStrokeWidth(width);  
  73.   
  74. // 设置画笔的样式  
  75. // Paint.Style.FILL(实心);  
  76. // Paint.Style.STROKE(空心);  
  77. // Paint.Style.FILL_AND_STROKE  
  78. paint.setStyle(Paint.Style.FILL_AND_STROKE);  
  79.   
  80. // 设置该项为true,将有助于文本在LCD屏幕上的显示效果  
  81. paint.setSubpixelText(subpixelText);  
  82.   
  83. // 设置绘制文字的对齐方向  
  84. paint.setTextAlign(align);  
  85.   
  86. // 设置文本的区域比如中文、日文等  
  87. paint.setTextLocale(locale);  
  88.   
  89. // 设置画笔文本的缩放比例  
  90. paint.setTextScaleX(scaleX);  
  91.   
  92. // 设置画笔文本的大小  
  93. paint.setTextSize(textSize);  
  94.   
  95. // 设置斜体文字,skewX为倾斜弧度  
  96. paint.setTextSkewX(skewX);  
  97.   
  98. // 设置Typeface对象,即字体风格,包括粗体,斜体以及衬线体,非衬线体等  
  99. paint.setTypeface(typeface);  
  100.   
  101. //设置带有下划线的文字效果   
  102. paint.setUnderlineText(underlineText);  
  103.   
  104. //设置图形重叠时的处理方式,如合并,取交集或并集,经常用来制作橡皮的擦除效果    
  105. paint.setXfermode(xfermode);  

[java] view plain copy 在CODE上查看代码片派生到我的代码片
  1. // 1.基准点是baseline  
  2.         // 2.ascent:是baseline之上至字符最高处的距离  
  3.         // 3.descent:是baseline之下至字符最低处的距离  
  4.         paint.ascent();  
  5.         paint.descent();  
  6.   
  7.         // 清除透明阴影层。  
  8.         paint.clearShadowLayer();  
  9.   
  10.         // 获取画笔透明度  
  11.         paint.getAlpha();  
  12.   
  13.         // 获取画笔颜色  
  14.         paint.getColor();  
  15.   
  16.         // 获取画笔过滤器  
  17.         paint.getColorFilter();  
  18.   
  19.         // 获取  
  20.         paint.getFillPath(src, dst);  
  21.   
  22.         // 获取该笔的标志,  
  23.         paint.getFlags();  
  24.   
  25.         // 测量字体的大小  
  26.         paint.getFontMetrics();  
  27.         paint.getFontMetrics(metrics);  
  28.         paint.getFontMetricsInt();  
  29.         paint.getFontMetricsInt(fmi);  
  30.   
  31.         // 获取字体的间距  
  32.         paint.getFontSpacing();  
  33.   
  34.         // 返回画笔的隐藏模式。返回hinting_off或hinting_on。  
  35.         paint.getHinting();  
  36.   
  37.         // 获取maskfilter对象  
  38.         paint.getMaskFilter();  
  39.   
  40.         // 获取patheffect对象  
  41.         paint.getPathEffect();  
  42.   
  43.         // 获取油漆的光栅化(或NULL)。  
  44.         // 光栅控制/修改/文本路径如何变成透明遮罩。  
  45.         paint.getRasterizer();  
  46.           
  47.         //获取shader对象  
  48.         paint.getShader();  
  49.           
  50.         //获取Cap实例控制如何开始和结束的抚摸线和路径的处理  
  51.         paint.getStrokeCap();  
  52.         paint.getStrokeJoin();  
  53.           
  54.         //获取画笔的斜角  
  55.         paint.getStrokeMiter();  
  56.           
  57.         //获取画笔宽度  
  58.         paint.getStrokeWidth();  
  59.           
  60.         //返回画笔的样式  
  61.         paint.getStyle();  
  62.   
  63.         //获取文本的其实位置  
  64.         paint.getTextAlign();  
  65.           
  66.         //返回文字的边界  
  67.         paint.getTextBounds(text, index, count, bounds);  
  68.         paint.getTextBounds(text, start, end, bounds);  
  69.           
  70.         //返回文字的区域  
  71.         paint.getTextLocale();  
  72.           
  73.         //返回文字的路径  
  74.         paint.getTextPath(text, index, count, x, y, path);  
  75.         paint.getTextPath(text, start, end, x, y, path);  
  76.           
  77.         //返回X轴文字的缩放  
  78.         paint.getTextScaleX();  
  79.           
  80.         //返回文字的大小  
  81.         paint.getTextSize();  
  82.           
  83.         //返回文字的倾斜度  
  84.         paint.getTextSkewX();  
  85.           
  86.         //返回文字的宽度  
  87.         paint.getTextWidths(text, widths);  
  88.         paint.getTextWidths(text, index, count, widths);  
  89.         paint.getTextWidths(text, start, end, widths);  
  90.         paint.getTextWidths(text, start, end, widths);  
  91.           
  92.         //设定一个最大宽度,在不超过这个宽度的话返回实际测量值,超过则停止测量  
  93.         paint.breakText(text, measureForwards, maxWidth, measuredWidth);  
  94.         paint.breakText(text, index, count, maxWidth, measuredWidth);  
  95.         paint.breakText(text, start, end, measureForwards, maxWidth,  
  96.                 measuredWidth);  
  97.   
  98.         //返回typeface对象,对文字进行字体绘制或测量文本  
  99.         paint.getTypeface();  
  100.           
  101.         //返回getXfermode对象  
  102.         paint.getXfermode();  
  103.   
  104.         paint.isAntiAlias();  
  105.         paint.isDither();  
  106.         paint.isFakeBoldText();  
  107.         paint.isFilterBitmap();  
  108.         paint.isLinearText();  
  109.         paint.isStrikeThruText();  
  110.         paint.isSubpixelText();  
  111.         paint.isUnderlineText();  
  112.   
  113.         //对文字进行测量  
  114.         paint.measureText(text);  
  115.         paint.measureText(text, index, count);  
  116.         paint.measureText(text, start, end);  
  117.         paint.measureText(text, start, end); 
0 0
原创粉丝点击