【问题标题】:Detect the predominant color of the screen检测屏幕的主要颜色
【发布时间】:2011-07-26 03:23:17
【问题描述】:

您将如何在 Android 中有效地检测(您的应用程序)屏幕的主要颜色,而不假设屏幕上的视图?

我认为第一步是从屏幕生成位图,尽管我不知道是否有更有效的方法来访问屏幕像素。

对于第二步,我想将位图缩放为 1x1 像素并让平台为我完成检测工作,但我不确定这在 Android 中是否可行。

【问题讨论】:

    标签: android colors bitmap screen


    【解决方案1】:

    您可以尝试使用getDrawingCache 从根布局生成Bitmap(不,您不需要根,至少在您自己的应用程序中)。这是来自 Android 源测试的an example,它展示了如何执行类似操作。

    但是,如果您想在其他人的应用程序上工作,则需要屏幕截图功能,这需要 root 权限。

    【讨论】:

    • 从位图中检测主要颜色怎么样?
    • 这取决于您如何定义“主要颜色”。如果您只是指最常出现的直接 RGB 值而没有进行量化或任何其他操作,那么循环遍历像素应该非常简单。如果您想要更复杂/有趣的东西,您可能会发现这个 SO 问题很有用:stackoverflow.com/questions/1106190/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多