【问题标题】:How to get the app icon color code programmaticallyin android?如何在android中以编程方式获取应用程序图标颜色代码?
【发布时间】:2015-06-13 06:18:47
【问题描述】:

实际上我的要求是获取我设备中安装的任何应用程序的图标颜色。 我想显示那个颜色的锁屏。那么如何以编程方式获取任何图标的颜色代码呢?

【问题讨论】:

  • 井图标里面有不同的颜色,也许你可以尝试找出哪个颜色占主导地位。您也可以尝试手动列出流行的应用程序名称和与之相关的图标颜色。
  • 首先,您是否已经考虑过任何图标都可能具有(并且通常确实具有)多种颜色?
  • 是的,我知道应用程序图标里面有多种颜色。例如,您可以在 CM Security applock 中看到。在该应用锁中,它获取应用图标的颜色并显示在锁定屏幕中。

标签: android android-bitmap


【解决方案1】:

如果您想从单个图标中获取所有颜色的 RGB 值--

Bitmap bitmap;
// create  the bitmap from your obtained image
int pixel = bitmap.getPixel(x,y); // x,y is the desired position of the target pixel, for full imag, you have to do the same thing in a loop

int red = Color.red(pixel);
int green = Color.green(pixel);
int blue = Color.blue(pixel);

返回的 int 值是您的标准 0 - 255。您可以修改此代码并从任何地方获取颜色,前提是您可以将其转换为位图。您可以使用 Color API 来获取实际的 RGB 值,如下所示:

int rgb = Color.rgb(red, blue, green); // rgb value of a single pixel, 

现在,为了一次获取所有像素,您可以使用Bitmap.getPixels()

int[] allPixels = new int[bitmap.getWidth()*bitmap.getHeight()];
bitmap.getPixels(allPixels, 0, bitmap.getWidth(), 0, 0, bitmap.getWidth(), bitmap.getHeight());

【讨论】:

  • 你知道如何从 url 中获取图标的颜色吗?例如https://www.google.com/s2/favicons?domain=youtube.com ?
  • @Spritzig,唯一的区别是从 URL 创建位图应该很简单。
  • 我不明白你能否在评论中提供一些代码。
【解决方案2】:

我不知道获取图标颜色是什么意思,因为图标是图像,但是您可以像这样获取已知应用程序的图标: https://stackoverflow.com/a/13609127/3965178

您可以像这样获取所有已安装的应用程序: How to get all apps installed on android phone

希望对你有所帮助。

【讨论】:

  • hello Lars.....我的目的是获取已安装应用程序图标的颜色代码,感谢您给我一个想法。
猜你喜欢
  • 1970-01-01
  • 2012-09-29
  • 1970-01-01
  • 2017-03-26
  • 1970-01-01
  • 2016-04-15
  • 2014-11-17
相关资源
最近更新 更多