当前位置: 首页 > news >正文

网站建设目的深圳住建局招投标交易中心

网站建设目的,深圳住建局招投标交易中心,网站备案和域名备案一样吗,徐州做网站哪里好在自定义控件的绘图篇中,Paint 类是核心的组成部分之一,它控制了在 Canvas 上绘制的内容的各种属性,包括颜色、风格、抗锯齿、透明度等等。下面将详细介绍 Paint 的主要功能以及如何使用 ColorMatrix 和 setColorFilter 来实现滤镜效果。 Pa…

在自定义控件的绘图篇中,Paint 类是核心的组成部分之一,它控制了在 Canvas 上绘制的内容的各种属性,包括颜色、风格、抗锯齿、透明度等等。下面将详细介绍 Paint 的主要功能以及如何使用 ColorMatrixsetColorFilter 来实现滤镜效果。

Paint 函数大汇总

Paint 类提供了丰富的功能,下面是一些常用的方法及其用途:

  • 构造函数:

    • Paint(): 创建一个新的 Paint 对象,所有设置均为默认值。
  • 样式设置:

    • setStyle(Paint.Style style): 设置绘图风格,如 FILL(填充)、STROKE(描边)、FILL_AND_STROKE(填充和描边)。
    • setColor(int color): 设置绘图的颜色。
    • setStrokeWidth(float width): 设置描边宽度。
    • setStrokeCap(Paint.Cap cap): 设置描边端点的形状,如 ROUNDBUTT 或 SQUARE
    • setStrokeJoin(Paint.Join join): 设置描边线条连接处的形状,如 ROUNDMITER 或 BEVEL
    • setAntiAlias(boolean aa): 设置是否启用抗锯齿。
  • 透明度设置:

    • setAlpha(int alpha): 设置整体的透明度(0-255)。
    • setARGB(int a, int r, int g, int b): 直接设置颜色的 Alpha、Red、Green 和 Blue 组件。
  • 文字设置:

    • setTextSize(float size): 设置文字大小。
    • setTypeface(Typeface tf): 设置字体。
    • setTextAlign(Paint.Align align): 设置文字对齐方式。
  • 滤镜效果:

    • setColorFilter(ColorFilter cf): 应用颜色过滤器。
    • setShader(Shader shader): 应用着色器。
    • setXfermode(Xfermode mode): 设置混合模式。
  • 图像质量:

    • setDither(boolean dither): 设置是否启用抖动以提高图像质量。
    • setFilterBitmap(boolean filter): 设置是否启用位图滤波器。

Paint 之 ColorMatrix 与滤镜效果

ColorMatrix 是一种强大的工具,用于修改颜色矩阵,可以实现各种色彩变换和滤镜效果。ColorMatrix 可以通过 ColorMatrixColorFilter 应用于 Paint 中。

下面是如何创建一个简单的灰度滤镜的例子:

Java
1ColorMatrix colorMatrix = new ColorMatrix();
2colorMatrix.setSaturation(0); // 将饱和度设置为0,转换为灰度
3ColorMatrixColorFilter colorFilter = new ColorMatrixColorFilter(colorMatrix);
4paint.setColorFilter(colorFilter);

Paint 之 setColorFilter

setColorFilter 方法允许你为 Paint 设置颜色过滤器,从而在绘制时应用各种颜色效果。除了使用 ColorMatrixColorFilter 外,还可以使用其他类型的 ColorFilter,例如 LightingColorFilterPorterDuffColorFilter

使用 LightingColorFilter 实现亮度和对比度调整:

Java

1paint.setColorFilter(new LightingColorFilter(0xFF993300, 100));

这里的 0xFF993300 是最终的颜色,而 100 表示对比度因子。

使用 PorterDuffColorFilter 实现背景颜色替换:

Java

1paint.setColorFilter(new PorterDuffColorFilter(0xFFFF00FF, PorterDuff.Mode.SRC_IN));

示例代码

下面是一个使用 PaintColorMatrix 实现简单灰度滤镜效果的示例代码:

Java

1public class CustomView extends View {
2    private Paint paint;
3    private Bitmap bitmap;
4    private Canvas canvas;
5    private Bitmap.Config conf = Bitmap.Config.ARGB_8888;
6
7    public CustomView(Context context) {
8        super(context);
9        init();
10    }
11
12    private void init() {
13        paint = new Paint();
14        bitmap = Bitmap.createBitmap(300, 300, conf);
15        canvas = new Canvas(bitmap);
16        drawSomethingOnCanvas(canvas);
17
18        ColorMatrix cm = new ColorMatrix();
19        cm.setSaturation(0);
20        ColorMatrixColorFilter filter = new ColorMatrixColorFilter(cm);
21        paint.setColorFilter(filter);
22    }
23
24    @Override
25    protected void onDraw(Canvas canvas) {
26        super.onDraw(canvas);
27        canvas.drawBitmap(bitmap, 0, 0, paint);
28    }
29}

在这个例子中,我们首先创建了一个 Bitmap 并在其上绘制了一些内容,然后使用 ColorMatrixColorMatrixColorFilter 将绘制的内容转换为灰度图像。

通过这些方法和技巧,你可以创建各种各样的自定义控件,并且能够灵活地控制绘图的外观和效果。

http://www.yayakq.cn/news/73657/

相关文章:

  • 山西省城乡和建设厅网站wordpress 签到功能
  • 网站主题设计特色山西旅游网站建设
  • 公司网站做首页大图淘宝网站内搜索引擎优化怎么做
  • 在哪里可以做网站赚钱购物网站设计的意义
  • 网站集群建设绵阳优化网站排名
  • 汽车网站排名查询卖摄影作品的网站
  • 工商企业网站微信crm管理系统
  • 郑州网站竞价托管甘孜州手机网站建设
  • 古镇中小企业网站建设lsp必备公众号
  • 哪个网站可以做英文兼职免费行情软件网站有哪些
  • 学校门户网站什么意思二维码页面设计模板
  • 宁夏做网站的网站模版免费下载
  • 网站建设情况介绍网站建设银行北京冬奥会纪念币发行时间
  • 广安市建设局官方网站网站备案为什么要闭站
  • 营销网站建设公司一级建造师求职网
  • 乐清建站公司哪家好搜易网提供的技术服务
  • 贵州省建设部网站济南哪有做网站的
  • 新河镇网站制作东营局域网设计
  • 电商网站建设的意义张家界做网站
  • 开发网站和电脑软件的区别重庆建设工程网站
  • 网站建设后需要交费吗哪里有做投票的网站
  • wordpress 微站做网站有骗子
  • 遵义仁怀网站建设layui 网站建设模板
  • 长沙免费网站建站模板泸州网站开发
  • 免费搭建网站wordpress商品展示模板下载
  • 保定哪家做网站公司好北京seo关键词优化外包
  • wordpress做小说网站为何上不了建设银行网站
  • 网站后台与前台做淘宝网店的运营流程
  • 学习网站建设有什么用山东酷雅展陈装饰有限公司
  • 景德镇网站建设景德镇微信小程序如何搭建