## With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

No credit card required

# 3.2. Specifying RGB Values

## Problem

You want to create an RGB value to use with `setRGB( )` based on the red, green, and blue part values.

## Solution

Use the bitshift left and bitwise `OR` operators.

## Discussion

The easiest way to combine individual red, green, and blue components into a single RGB value is to use bitwise operations. Simply shift the red value left by 16 bits and the green value left by 8 bits, then combine them with the blue value using the bitwise `OR` operator, as follows:

```red   = 100;
green = 100;
blue  = 100;
rgb = (red << 16) | (green << 8) | (blue);

// Create the `Color` object.
my_color = new Color(myMovieClip);

// Set the RGB color.
my_color.setRGB(rgb);```

The bitshift left operator (`<<`) effectively multiplies a number by two for each bit position that the number is shifted (this is similar to how shifting a decimal number one decimal place to the left effectively multiplies it by 10). In this context, the bitwise `OR` operator (`|`) essentially concatenates the shifted numbers together. Therefore, assuming that `red`, `green`, and `blue` are each in the range of 0 to 255, the following:

`rgb = (red << 16) | (green << 8) | (blue);`

is equivalent to:

`rgb = (red * Math.pow(2,16)) + (green * Math.pow(2,8)) + blue;`

or:

`rgb = (red * 65536) + (green * 256) + blue;`

In practice, it is often easier to use ```Color.setTransform( )—```in which the red, green, and blue components are specified as separate properties of a transform object—to alter the targeted clip’s color. Furthermore, `setTransform( )` allows ...

## With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

No credit card required