天天看点

Swift - 使用位运算提取颜色,合并颜色

通常我们可以使用16进制的格式表示RGB颜色,比如0x2f88c0。通过位操作运算,能很方便的将其中的R,G,B颜色各部分分别提取出来。反之,也可以将R,G,B颜色值组合成一个完整的颜色。

1,提取颜色的组成部分

1

2

3

4

<code>var</code> <code>color:uint = 0x445577</code>

<code>var</code> <code>r:uint = color &gt;&gt; 16 </code><code>//0x44</code>

<code>var</code> <code>g:uint = color &gt;&gt; 8 &amp; 0xFF </code><code>//0x55</code>

<code>var</code> <code>b:uint = color &amp; 0xFF </code><code>//0x77</code>

2,合并颜色组成成分

<code>var</code> <code>r:uint = 0x44</code>

<code>var</code> <code>g:uint = 0x55</code>

<code>var</code> <code>b:uint = 0x66</code>

<code>var</code> <code>color:uint = r &lt;&lt; 16 | g &lt;&lt; 8 | b</code><code>//0x445566</code>