飘在云上 2024-05-16 15:39 采纳率: 0%
浏览 3

Java颜色矩阵的设置方法搞不清

这是一个项目的中调用的一个文件,该文件几个矩阵的表现效果为底部导航栏颜色、边框颜色、颜色范围的变化,我搞不清楚矩阵这具体是怎么设置的,谢谢大家解答问题


package com.tdtxdcxm.telmanagesys.configcolor;


import ohos.agp.colors.RgbColor;
import ohos.agp.components.DirectionalLayout;
import ohos.agp.components.element.ShapeElement;
import ohos.agp.render.ColorMatrix;

public class BottomBarColor {
    public static void setBottomBarColor(DirectionalLayout ddl3,int i){
        switch (i){
            case 0:
                ddl3.setBackground(BottomBarColor.defaultShapeElement());
                break;

            case 1:
                ddl3.getBackgroundElement().setColorMatrix(new ColorMatrix(BottomBarColor.lightcolor));
                break;
            case 2:
                ddl3.getBackgroundElement().setColorMatrix(new ColorMatrix(BottomBarColor.simplecolor));
                break;
            default:
                break;
        }
    }

    public static ShapeElement defaultShapeElement(){
        // 创建一个形状元素
        ShapeElement shapeElement = new ShapeElement();

        // 创建一个 RGB 颜色对象
        RgbColor rgbColor = new RgbColor();

        // 设置 RGB 颜色的红色通道为 255
        rgbColor.setRed(255);

        // 设置 RGB 颜色的绿色通道为 255
        rgbColor.setGreen(255);

        // 设置 RGB 颜色的蓝色通道为 255
        rgbColor.setBlue(255);

        // 设置 RGB 颜色的 alpha 通道为 28,使其半透明
        rgbColor.setAlpha(28);

        // 将 RGB 颜色设置为形状元素的填充颜色
        shapeElement.setRgbColor(rgbColor);

        // 设置 RGB 颜色的红色通道为 139
        rgbColor.setRed(139);

        // 设置 RGB 颜色的绿色通道为 69
        rgbColor.setGreen(69);

        // 设置 RGB 颜色的蓝色通道为 19
        rgbColor.setBlue(19);

        // 设置 RGB 颜色的 alpha 通道为 100,使其不透明
        rgbColor.setAlpha(100);

        // 设置形状元素的边框,边框宽度为 9,颜色为上面设置的 RGB 颜色
        shapeElement.setStroke(9, rgbColor);

        // 设置形状元素的圆角半径为 50
        shapeElement.setCornerRadius(50);

        // 返回设置好的形状元素
        return shapeElement;
    }


    //CornflowerBlue    矢车菊的蓝色    #6495ED    100,149,237,1有褐色边框,
    public static final float[] onclickfloats = {
            0,0,0,0,100,
            0,0,0,0,149,
            0,0,0,0,237,
            0,0,0,0,80};

    public static final float[] lightcolor = {
            0, 0, 0, 0,35,
            0, 0, 0, 0,255,
            0, 0, 0,0, 255,//灰黄色1,2的按钮底色,4的全背景色255,235,200
            0, 0, 0,0, 100,
    };
    public static final float[] simplecolor = {
            0, 0, 0, 0, 0,
            0, 0, 0, 0, 255,
            0, 0, 0, 0, 255,//红色#FF0200 255,2,0)244,247,131
            0, 0, 0, 0, 28
    };
    private BottomBarColor(){}
}

  • 写回答

2条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-05-16 15:40
    关注

    理解矩阵变换原理,根据需求调整数值。

    以上回复有部分引自免费微信小程序:皆我百晓生。 如问题尚未解决,还请稍待,如有疑问请回复进一步沟通。

    评论

报告相同问题?

问题事件

  • 创建了问题 5月16日

悬赏问题

  • ¥15 is not in the mmseg::model registry。报错,模型注册表找不到自定义模块。
  • ¥15 安装quartus II18.1时弹出此error,怎么解决?
  • ¥15 keil官网下载psn序列号在哪
  • ¥15 想用adb命令做一个通话软件,播放录音
  • ¥30 Pytorch深度学习服务器跑不通问题解决?
  • ¥15 部分客户订单定位有误的问题
  • ¥15 如何在maya程序中利用python编写领子和褶裥的模型的方法
  • ¥15 Bug traq 数据包 大概什么价
  • ¥15 在anaconda上pytorch和paddle paddle下载报错
  • ¥25 自动填写QQ腾讯文档收集表