当前位置:  开发笔记 > 编程语言 > 正文

公式用于计算十六进制颜色的相反("差异")

如何解决《公式用于计算十六进制颜色的相反("差异")》经验,为你挑选了2个好方法。

如何创建十六进制颜色的反面?例如,我想将0x000000(黑色)转换为0xFFFFFF(白色),或者将0xFF0000(红色)转换为0x00FFFF(青色).这些是相当基本的颜色,而颜色的变体可以具有更复杂的十六进制值,例如0x21B813(绿色).

是否需要按位运算符?也许每个数字的循环来计算它的镜像从0到15,或0到F(0变为F,6变为9等)

我正在使用ActionScript,所以我几乎可以肯定,这将在Java中以相同的方式完成.



1> Spidey..:

只需要做0xFFFFFF - 颜色.



2> Matt Mitchel..:

正如Spidey所说,只需使用0xFFFFFF - COLOR.

在ActionScript中,您可以执行以下操作:

public static function pad(str:String, minLength:uint, pad:String):String { 
    while (str.length < minLength) str = pad + str; 
    return str; 
} 

var color:Number=0x002233;
var hexColorStr:String = "#" + pad((0xFFFFFF-color).toString(16), 6, "0");

在Java中:

int color = 0x002233;
String hex = String.format("06X", (0xFFFFFF - color)); 

在C#中:

int color = 0x002233;
string hex = (0xFFFFFF - color).ToString("X").PadLeft(6, '0');

推荐阅读
小妖694_807
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有