Paint API
Posted huyang011
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Paint API相关的知识,希望对你有一定的参考价值。
// paint恢复为默认设置。 paint.reset(); // 从src目录中装载一种画笔的样式 paint.set(src); // 设置画笔的透明度 paint.setAlpha(a); // 设置画笔的抗锯齿情况,使画笔更为圆滑 paint.setAntiAlias(aa); // 设个画笔的ARGB颜色色值 paint.setARGB(a, r, g, b); // 设置画笔的颜色 paint.setColor(color); // 设置画笔的过滤器 paint.setColorFilter(filter); // 设置清除抖动对图像的影响,会使绘制出来的图片图像更加清晰,颜色更加平滑和饱满. paint.setDither(dither); // 设置粗体文字,注意设置在小字体上效果会非常差 paint.setFakeBoldText(fakeBoldText); // 如果该项设置为true,则图像在动画进行中会滤掉对Bitmap图像的优化操作,加快速度显示 // 注意:本设置项依赖于dither和xfermode的设置 paint.setFilterBitmap(filter); // 给画笔做上标记,以便直接复用 paint.setFlags(flags); // 设置画笔的隐藏模式 paint.setHinting(mode); // 设置线性文本 paint.setLinearText(linearText); // 设置MaskFilter,可以用不同的MaskFilter实现滤镜的效果,如滤化,立体等 paint.setMaskFilter(maskfilter); // 设置绘制路径的效果,如点画线等 paint.setPathEffect(effect); // 设置或清除的光栅对象。 // 通过空清除任何以前的光栅化。为方便起见,传递的参数也回来了。 paint.setRasterizer(rasterizer); // 设置或清除渲染对象。 // 通过空清以前的任何材质。为方便起见,传递的参数也回来了。 paint.setShader(shader); // 这原图层下面设置阴影层,产生阴影效果,radius为阴影的角度,dx和dy为阴影在x轴和y轴上的距离,color为阴影的颜色。如果半径为0,然后一层阴影去除。 paint.setShadowLayer(radius, dx, dy, color); // 设置画笔带有删除线效果的 paint.setStrikeThruText(strikeThruText); // 当画笔样式为STROKE或FILL_OR_STROKE时,设置笔刷的图形样式,如圆形样式 // Cap.ROUND,或方形样式Cap.SQUARE paint.setStrokeCap(cap); // 设置笔画的倾斜度 paint.setStrokeMiter(miter); // 设置画笔结合处的样式,Miter:结合处为锐角, Round:结合处为圆弧:BEVEL:结合处为直线。 paint.setStrokeJoin(join); // 当画笔是空心样式时,设置画笔空心的宽度 paint.setStrokeWidth(width); // 设置画笔的样式 // Paint.Style.FILL(实心); // Paint.Style.STROKE(空心); // Paint.Style.FILL_AND_STROKE paint.setStyle(Paint.Style.FILL_AND_STROKE); // 设置该项为true,将有助于文本在LCD屏幕上的显示效果 paint.setSubpixelText(subpixelText); // 设置绘制文字的对齐方向 paint.setTextAlign(align); // 设置文本的区域比如中文、日文等 paint.setTextLocale(locale); // 设置画笔文本的缩放比例 paint.setTextScaleX(scaleX); // 设置画笔文本的大小 paint.setTextSize(textSize); // 设置斜体文字,skewX为倾斜弧度 paint.setTextSkewX(skewX); // 设置Typeface对象,即字体风格,包括粗体,斜体以及衬线体,非衬线体等 paint.setTypeface(typeface); //设置带有下划线的文字效果 paint.setUnderlineText(underlineText); //设置图形重叠时的处理方式,如合并,取交集或并集,经常用来制作橡皮的擦除效果 paint.setXfermode(xfermode);
// 1.基准点是baseline // 2.ascent:是baseline之上至字符最高处的距离 // 3.descent:是baseline之下至字符最低处的距离 paint.ascent(); paint.descent(); // 清除透明阴影层。 paint.clearShadowLayer(); // 获取画笔透明度 paint.getAlpha(); // 获取画笔颜色 paint.getColor(); // 获取画笔过滤器 paint.getColorFilter(); // 获取 paint.getFillPath(src, dst); // 获取该笔的标志, paint.getFlags(); // 测量字体的大小 paint.getFontMetrics(); paint.getFontMetrics(metrics); paint.getFontMetricsInt(); paint.getFontMetricsInt(fmi); // 获取字体的间距 paint.getFontSpacing(); // 返回画笔的隐藏模式。返回hinting_off或hinting_on。 paint.getHinting(); // 获取maskfilter对象 paint.getMaskFilter(); // 获取patheffect对象 paint.getPathEffect(); // 获取油漆的光栅化(或NULL)。 // 光栅控制/修改/文本路径如何变成透明遮罩。 paint.getRasterizer(); //获取shader对象 paint.getShader(); //获取Cap实例控制如何开始和结束的抚摸线和路径的处理 paint.getStrokeCap(); paint.getStrokeJoin(); //获取画笔的斜角 paint.getStrokeMiter(); //获取画笔宽度 paint.getStrokeWidth(); //返回画笔的样式 paint.getStyle(); //获取文本的其实位置 paint.getTextAlign(); //返回文字的边界 paint.getTextBounds(text, index, count, bounds); paint.getTextBounds(text, start, end, bounds); //返回文字的区域 paint.getTextLocale(); //返回文字的路径 paint.getTextPath(text, index, count, x, y, path); paint.getTextPath(text, start, end, x, y, path); //返回X轴文字的缩放 paint.getTextScaleX(); //返回文字的大小 paint.getTextSize(); //返回文字的倾斜度 paint.getTextSkewX(); //返回文字的宽度 paint.getTextWidths(text, widths); paint.getTextWidths(text, index, count, widths); paint.getTextWidths(text, start, end, widths); paint.getTextWidths(text, start, end, widths); //设定一个最大宽度,在不超过这个宽度的话返回实际测量值,超过则停止测量 paint.breakText(text, measureForwards, maxWidth, measuredWidth); paint.breakText(text, index, count, maxWidth, measuredWidth); paint.breakText(text, start, end, measureForwards, maxWidth, measuredWidth); //返回typeface对象,对文字进行字体绘制或测量文本 paint.getTypeface(); //返回getXfermode对象 paint.getXfermode(); paint.isAntiAlias(); paint.isDither(); paint.isFakeBoldText(); paint.isFilterBitmap(); paint.isLinearText(); paint.isStrikeThruText(); paint.isSubpixelText(); paint.isUnderlineText(); //对文字进行测量 paint.measureText(text); paint.measureText(text, index, count);
以上是关于Paint API的主要内容,如果未能解决你的问题,请参考以下文章
#yyds干货盘点#探索 CSS Paint API:多边形边框
drawImage Houdini CSS Paint API