当前位置: 首页 > 知识库问答 >
问题:

修道院主颜色到颜色名称

孔瑾瑜
2023-03-14

如何将主色转换为色名?

该方法是从图像中找出主色。

private void extractProminentColors(Bitmap bitmap){
        int defaultColor = 0x000000;
        Palette p = Palette.from(bitmap).generate();
        int VibrantColor = p.getVibrantColor(defaultColor);
        v1 = String.format("#%X", VibrantColor);
        colorv1 = v1;
        checkBox1.setBackgroundColor(VibrantColor);
        int MutedColorLight = p.getLightMutedColor(defaultColor);

        v2 = String.format("#%X", MutedColorLight);
        colorv2 = v2;
        checkBox2.setBackgroundColor(MutedColorLight);
        int MutedColorDark = p.getDarkMutedColor(defaultColor);

        v3 = String.format("#%X", MutedColorDark);
        colorv3 = v3;
        checkBox3.setBackgroundColor(MutedColorDark);
    }

这是颜色名称的数组列表

final ArrayList<ColorName> colorList = new ArrayList<ColorName>();
    colorList.add(new ColorName("Black", 0x00, 0x00, 0x00)); 
    colorList.add(new ColorName("White", 0xff, 0xff, 0xff)); 
    colorList.add(new ColorName("Gray", 0x80, 0x80, 0x80)); 
    colorList.add(new ColorName("Navy" , 0x00, 0x00, 0x80)); 
    colorList.add(new ColorName("Red", 0xff, 0x00, 0x00)); 
    colorList.add(new ColorName("Orange", 0xff, 0x80, 0x00)); 
    colorList.add(new ColorName("Yellow", 0xff, 0xff, 0x00)); 
    colorList.add(new ColorName("Green", 0x00, 0xff, 0x00)); 
    colorList.add(new ColorName("Blue", 0x00, 0x00, 0xff)); 

共有2个答案

司寇祖鹤
2023-03-14

如果将rgb值合并为一个值,则可以创建反向查找映射

Map m = new HashMap();

m.put (0x000000, new ColorName("Black", 0x00, 0x00, 0x00)); 
田成仁
2023-03-14

由于图像中的主要颜色很可能与列出的命名颜色不完全匹配,所以只能找到最接近的命名颜色。

编写一个distance()方法,计算两种颜色之间的差异,然后在colornames列表中,搜索到主色的距离最小的条目。

 类似资料:
  • 主要内容:目前所有浏览器都支持以下颜色名。,按颜色名排序目前所有浏览器都支持以下颜色名。 141个颜色名称是在HTML和CSS颜色规范定义的(17标准颜色,再加124)。下表列出了所有颜色的值,包括十六进制值。 提示: 17标准颜色:黑色,蓝色,水,紫红色,灰色,绿色,石灰,栗色,海军,橄榄,橙,紫,红,白,银,蓝绿色,黄色。点击其中一个颜色名称(或一个十六进制值)就可以查看与不同文字颜色搭配的背景颜色。: 按颜色名排序 按十六进制的值排序 单击一个颜

  • 主要内容:目前所有浏览器都支持以下颜色名。,按颜色名排序目前所有浏览器都支持以下颜色名。 141个颜色名称是在HTML和CSS颜色规范定义的(17标准颜色,再加124)。下表列出了所有颜色的值,包括十六进制值。 提示: 17标准颜色:黑色,蓝色,水,紫红色,灰色,绿色,石灰,栗色,海军,橄榄,橙,紫,红,白,银,蓝绿色,黄色。点击其中一个颜色名称(或一个十六进制值)就可以查看与不同文字颜色搭配的背景颜色。 按颜色名排序 按十六进制的值排序 单击一个颜色

  • 目前所有浏览器都支持以下颜色名。 141个颜色名称是在HTML和CSS颜色规范定义的(17标准颜色,再加124)。下表列出了所有颜色的值,包括十六进制值。 提示: 17标准颜色:黑色,蓝色,水,紫红色,灰色,绿色,石灰,栗色,海军,橄榄,橙,紫,红,白,银,蓝绿色,黄色。点击其中一个颜色名称(或一个十六进制值)就可以查看与不同文字颜色搭配的背景颜色。 按颜色名排序 按十六进制的值排序 单击一个颜色

  • 原文:Specifying Colors 在 matplotlib 的几乎所有地方,用户都可以指定颜色,它可以以如下形式提供: RGB 或者 RGBA 浮点值元组,[0, 1]之间,例如(0.1, 0.2, 0.5)或者(0.1, 0.2, 0.5, 0.3)。 RGB 或者 RGBA 十六进制字符串,例如#0F0F0F或者#0F0F0F0F。 [0, 1]之间的浮点值的字符串表示,用于表示灰度,

  • 用法 这是一个基于 material design 基础颜色的调色板。每一种颜色的定义有一个基本的颜色类和一个可选的减轻或变暗的类。 背景颜色 应用一个背景颜色只需要增加颜色的名称和颜色深浅度到元素的 class 属性中。这是一个卡片面板带一个 teal、lighten-2 类。 <div class="card-panel teal lighten-2">这是一个卡片面板带一个 teal lig

  • 在前面的教程中我们已经简要提到过该如何在OpenGL中使用颜色(Color),但是我们至今所接触到的都是很浅层的知识。本节我们将会更深入地讨论什么是颜色,并且还会为接下来的光照(Lighting)教程创建一个场景。 现实世界中有无数种颜色,每一个物体都有它们自己的颜色。我们需要使用(有限的)数值来模拟真实世界中(无限)的颜色,所以并不是所有现实世界中的颜色都可以用数值来表示的。然而我们仍能通过数值

  • 实现可视化要经常和颜色打交道。虽然你的电脑显示屏懂得很多的颜色,但这对通过js来配置颜色帮助不大。所以d3提供多种颜色空间的表示,包括 RGB, HSL,LAB 和 HCL,可实现规范、插值、转换和操作(例如颜色的明暗)。 注意:虽然你可以直接操作颜色,当时也需要参考一下D3对于interpolateRgb, interpolateHsl 和 scales等内置颜色插值的实现。 如果你想查阅调色盘

  • 颜色 设定自家选单的背景颜色。 每月 每月自动变更所决定的颜色。 各色 设定已选的颜色为背景。