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);
时间: 2024-10-11 19:45:59

Paint API的相关文章

Android基础入门教程——8.3.11 Paint API之—— ColorFilter(颜色过滤器)(3-3)

Android基础入门教程--8.3.11 Paint API之-- ColorFilter(颜色过滤器)(3-3) 标签(空格分隔): Android基础入门教程 本节引言: 嗯,本来说好今天不写的,还是写吧,毕竟难得空闲哈~,本节给大家带来的是 ColorFilter的第三个子类:PorterDuffColorFilter,看到PorterDuff大家一定不会 陌生吧,假如你看过前面的 Android基础入门教程--8.3.5 Paint API之-- Xfermode与PorterDuff

Android基础入门教程——8.3.4 Paint API之—— Xfermode与PorterDuff详解(一)

Android基础入门教程--8.3.4 Paint API之-- Xfermode与PorterDuff详解(一) 标签(空格分隔): Android基础入门教程 本节引言: 不知道标题这两个玩意你熟不熟悉啦,如果自己实现过圆角或者圆形图片,相信对这两个名词 并不模式,一时半伙没想起来?没关系,下面这个图你可曾见过? PS:网上都说在:\samples\android-XX\legacy\ApiDemos\src\com\example\android\apis\graphics 下能找到这个

Android基础入门教程——8.3.15 Paint API之——Typeface(字型)

Android基础入门教程--8.3.15 Paint API之--Typeface(字型) 标签(空格分隔): Android基础入门教程 本节引言: 本节带来Paint API系列的最后一个API,Typeface(字型),由字义,我们大概可以猜到,这个 API是用来设置字体以及字体风格的,使用起来也非常的简单!下面我们来学习下Typeface的一些相关 的用法!官方API文档:Typeface~ 1.字体的可选风格 四个整型常量: BOLD:加粗 ITALIC:斜体 BOLD_ITALIC

Android基础入门教程——8.3.7 Paint API之—— Xfermode与PorterDuff详解(四)

Android基础入门教程--8.3.7 Paint API之-- Xfermode与PorterDuff详解(四) 标签(空格分隔): Android基础入门教程 本节引言: 上节我们写了关于Xfermode与PorterDuff使用的第一个例子:圆角&圆形图片ImageView的实现, 我们体会到了PorterDuff.Mode.DST_IN给我们带来的好处,本节我们继续来写例子练练手, 还记得Android基础入门教程--8.3.2 绘图类实战示例给大家带来的拔掉美女衣服的实现吗? 当时我

Android基础入门教程——8.3.10 Paint API之—— ColorFilter(颜色过滤器)(2-3)

Android基础入门教程--8.3.10 Paint API之-- ColorFilter(颜色过滤器)(2-3) 标签(空格分隔): 未分类 本节引言: 上一节中我们讲解了Android中Paint API中的ColorFilter(颜色过滤器)的第一个子类: ColorMatrixColorFilter(颜色矩阵颜色过滤器),相信又开阔了大家的Android图像处理视野, 而本节我们来研究它的第二个子类:LightingColorFilter(光照色彩颜色过滤器),先上一发 官方API文档

Android基础入门教程——8.3.3 Paint API之—— MaskFilter(面具)

Android基础入门教程--8.3.3 Paint API之-- MaskFilter(面具) 标签(空格分隔): Android基础入门教程 本节引言: 在Android基础入门教程--8.3.1 三个绘图工具类详解的Paint方法中有这样一个方法: setMaskFilter(MaskFilter maskfilter): 设置MaskFilter,可以用不同的MaskFilter实现滤镜的效果,如滤化,立体等! 而我们一般不会直接去用这个MaskFilter,而是使用它的两个子类: Bl

Android基础入门教程——8.3.6 Paint API之—— Xfermode与PorterDuff详解(三)

Android基础入门教程--8.3.6 Paint API之-- Xfermode与PorterDuff详解(三) 标签(空格分隔): Android基础入门教程 本节引言: 上一节,我们学习了Xfermode中的三儿子:PorterDuffXfermode构造方法中的为一个参数: PorterDuff.Mode,我们在观看了16种图片混排模式后,又自己写代码来验证了一下文档中 18种不同的混排模式,18种是新增了ADD和OVERLAY两种模式!当然,仅仅验证知道是不够的, 本节我们来写个例子

Android基础入门教程——8.3.12 Paint API之—— PathEffect(路径效果)

Android基础入门教程--8.3.12 Paint API之-- PathEffect(路径效果) 标签(空格分隔): Android基础入门教程 本节引言: 本节继续来学习Paint的API--PathEffect(路径效果),我们把画笔的sytle设置为Stroke,可以 绘制一个个由线构成的图形,而这些线偶尔会显得单调是吧,比如你想把这些先改成虚线,又 或者想让路径的转角变得圆滑等,那你就可以考虑使用这个PathEffect来实现了! 官方API文档:PathEffect 进去看文档,

Android基础入门教程——8.3.8 Paint API之—— Xfermode与PorterDuff详解(五)

Android基础入门教程--8.3.8 Paint API之-- Xfermode与PorterDuff详解(五) 标签(空格分隔): Android基础入门教程 本节引言: 好的,上一节中,我们又写了一个关于Xfermode图片混排的例子--擦美女衣服的Demo,加上前面的 利用Xfermode来实现圆角或圆形ImageView,相信大家对Xfermode已经不再像以前那么陌生了,或者 说有点熟悉了,嗯,本节我们来写Xfermode的最后一个例子,通过Xfermode的ProterDuff.