首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取imageView颜色并设置互补颜色

获取imageView颜色并设置互补颜色
EN

Stack Overflow用户
提问于 2020-06-09 05:23:08
回答 1查看 262关注 0票数 1

我制作查看器,只有ImageView。

服务器上的图像。所以它可以是明亮的也可以是黑暗的。

下面是通知当前页面/ totalPage的布局。

现在我想做如果图像是明亮的,注意布局使黑暗。

如果图像是黑暗的,注意布局使之明亮。

所以。我的问题是

  1. 如何知道当前的图像是亮的还是暗的?
  2. 和如何从图像中生成complementary color
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-09 06:32:58

r21和更高版本包含调色板类,它允许您从图像中提取突出的颜色。要提取这些颜色,请将位图对象传递给加载图像的后台线程中的Palette.generate()静态方法。如果不能使用该线程,则调用Palette.generateAsync()方法并提供一个侦听器。

若要在项目中使用调色板类,请将以下Gradle依赖项添加到应用程序的模块中:

代码语言:javascript
复制
implementation 'androidx.palette:palette:$version'

要从图像中获取颜色:

代码语言:javascript
复制
    Palette.generateAsync(bitmap, new Palette.PaletteAsyncListener() {
        public void onGenerated(Palette palette) {
            // Do something with colors...
        }
});

调色板库尝试提取以下六种颜色配置文件:

轻盈的,充满活力的,黑暗的,黑暗的,静默的,黑暗的。

在RGB模型中找到互补颜色是非常简单的。例如,对于任何给定的颜色,都需要找到红色(# For 0000),在添加到红色之后,该颜色会创建白色(0 0xFFFFFF)。当然,您需要做的就是从白色中减去红色,得到青色(0xFFFFFF - 0xFF0000 = 0x00FFFF)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62275568

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档