【问题标题】:RGBa css vs aRGB AndroidRGBa css 与 aRGB Android
【发布时间】:2014-04-30 09:03:45
【问题描述】:

我需要将此代码http://www.pahgawks.com/blog/fire-particles-for-html5-canvas/ 从 css 和 javascript 移植到 Android。 如果更改此行,则在此代码中

stage.fillStyle = "rgba("+(260-(particles[i].life*2))+","+((particles[i].life*2)+50)+","+(particles[i].life*2)+","+(((max-particles[i].life)/max)*0.4)+")";

到:

stage.fillStyle = "rgba("+255+","+50+","+0+","+0.4+")";

看到黄色、红色和白色的火焰,但在 Android 中我只看到红色

paint.setColor(Color.argb(102,255,50,0);

但我对 paint.setColor(Color.argb(alpha,red,green,blue)) 和 rgba css 有疑问 在 css 代码中,我们看到在火中产生的黄色和白色颜色。

【问题讨论】:

    标签: android css rgba argb


    【解决方案1】:

    在您的 Java 代码中,当它在 JavaScript 中动态设置时(基于 particles[i].lifemax 值),您有一个静态颜色 (Color.argb(102, 255, 50, 0))。

    尝试在您的 Java 代码中也使用这些值,以查看所有颜色。

    【讨论】:

      【解决方案2】:

      不知道为什么Android选择使用#ARGB颜色布局而不是规范的#RGBA颜色布局。在即将到来的 Android P 中,hex value handling 的消息来了。

      Android P 应用启用草案 CSS 颜色模块级别 4 行为 处理 4 和 8 十六进制数字 CSS 颜色。

      自发布以来,Chrome 已支持 CSS 颜色模块级别 4 52,但 WebView 当前禁用该功能,因为现有 发现 Android 应用程序包含 32 位十六进制颜色 Android 排序 (ARGB),这会导致渲染错误。

      例如,颜色#80ff8080 当前在 WebView 中呈现为 不透明浅红色 (#ff8080) 适用于面向 Android P SDK 之前的应用。 前导组件(Android 会将其解释为 alpha 组件)当前被忽略。如果应用以 P 或更高版本为目标, 这将被解释为 50% 透明的浅绿色 (#80ff80)。

      【讨论】:

        猜你喜欢
        • 2012-06-20
        • 1970-01-01
        • 2020-08-22
        • 2012-02-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多