gpt4 book ai didi

android - android 中 0xff -colors 有什么用?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:56:56 27 4
gpt4 key购买 nike

有时在 android 项目中有像 '0xff4ca665' 这样的颜色格式。

使用它们的目的是什么?

最佳答案

一些来自 24 位颜色的程序员有更多的经验。有时它在 Android 中很重要,alpha 不会在 renderscript 中的一些更直接的操作中被掩盖。当你想要 '0xff4ca665' 告诉系统你想要 '0x4ca665' 并希望以后有其他东西正确地掩盖它时,这似乎是对实际上什至不能浪费时钟周期的东西的粗略赌注。

有些东西不会将 resID 链接到颜色,也不会为您提供类似 View.setBackgroundColor(int) 的选项,其中颜色的 int 编码为 32 位整数。

具体来说,这就是 24 位颜色的 alpha 掩码的工作原理。它们被格式化为 32 位整数,如 0bAAAAAAAARRRRRRRRRGGGGGGGGBBBBBBBBB 所以 RGB 的每种颜色都有 8 位,并且 alpha 有 8 位掩码,无论稍后使用 PorterDuff 混合来渲染结果。 Android 将颜色纯粹存储为整数,因此使用这些是个好主意,如果最终结果是这样的话。

当你用十六进制这样做时,你会得到每个东西的两位数 0xAARRGGBB 并且 AA 设置为 ff,表示 255 或完全不透明。无需相信颜色不会完全不透明。很多时候,如果您将它们保留为 00,您最终会得到一张空白图像,或者完全透明的图像。如果我们只是公开地包含 alpha,那么知道哪些时间很重要是不值得的。

Android 还有一些其他方案,这些方案在 shorts 中存储颜色很重要。即 4444 以 4 位存储 alpha 和每种颜色。 565 以 5 位存储红色,以 6 位存储绿色,以 5 位存储蓝色。两者最终总共使用 16 位而不是 32 位。但是,很多编码方案都使用 8888,这是非常标准的,所以经常看到人们这样引用颜色,尤其是十六进制。

关于android - android 中 0xff -colors 有什么用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38839175/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com