Use BitWise Operators in Flash to Turn the Output of getPixel() to a String
ActionScript, Flash March 20th, 2008
I’ve been working on a pixel color capture Flash Movie and I needed some help understanding how to work with the value that the getPixel() function returned. I found a great explanation over at Flash-Creations under the Operators section.
| nRed = nColor >> 16; | Given an RGB color nColor, pull the red part into variable nRed. How? Colors are specified by 3 groups of 2 hex digits each:RRGGBB. Each hex digit is 4 bits, so each color is specified by 8 bits: rrrrrrrrggggggggbbbbbbbb. The “>>” operator shifts bits to the right by the amount specified. So to get the red part (leftmost group of 8 bits), you simply shift all the bits to the right 16 slots (the lower part, the G and B colors, are discarded during the shift). |
Also, to clarify the process, here is some sample code from this tutorial at:
———————————————————————————
tr = (tmpC >> 16);
tg = (tmpC >> 8 ^ tr << 8);
tb = (tmpC ^ (tr << 16 | tg << 8));
———————————————————————————
You’ll notice that this examples uses another operator (^), the bitswise XOR operator to get the difference of two binary elements. Great example in livedocs:
Example
The following example uses the bitwise XOR operator on the decimals 15 and 9, and assigns the result to the variable x:
// 15 decimal = 1111 binary
// 9 decimal = 1001 binary
var x:Number = 15 ^ 9;
trace(x);
// 1111 ^ 1001 = 0110
// returns 6 decimal (0110 binary)
Posts
Leave a Comment
You must be logged in to post a comment.