8.0.
Introduction
Flash 8
introduced the BitmapData class, one of the most
important additions to the program at that time. Since its
inception, Flash has been a vector-based tool. Vector graphics consist of
mathematical descriptions of each graphical element. For example, a
line starts at point x0, y0 and extends to point
x1, y1. A bitmap, on the other hand, describes a
graphic as a rectangular grid of values, with one color value
assigned to each pixel.
The two main advantages of vector graphics are
scaling and file size. When you scale a vector graphic, you are
actually moving the points that make up the lines and curves of the
graphic further apart or closer together. Thus, you can scale up or
down to almost any size and still maintain smooth lines and curves.
A bitmap, on the other hand, starts to look "blocky" as soon as you
increase its size even slightly, since each pixel is simply made
into a larger rectangle.
Since a vector graphic is nothing more than a
list of coordinates that make
up various lines, curves, and shapes, the file size tends to be
quite low when compared to a bitmap graphic. Bitmap graphics, on
the other hand, contain value information for each pixel in the image. For a
100x100-pixel image, this is a list of 10,000 individual values. Of
course, most bitmap images use some form of compression to reduce
the file size. Even so, they can be quite large.
The advantage of vector graphics went a long way
to make Flash such a popular media format on the web. However,
bitmaps are not without their own advantages. For one, bitmaps are
much better at displaying photographic images. The amount of
vectors it would take to describe all the shapes and color
variations in a photograph would generally result in a larger file
size than a bitmap of the same image.
Another benefit of bitmaps is that they are
often easier on the processor than vectors are. In a vector image,
each point's position must be calculated, and then the formulas for
the lines and curves are calculated and drawn. Complex images can
take quite a while to render. Bitmaps are relatively easy to
render, though, no matter how complex they are. In terms of
animation, you usually find very significant gains in speed and
efficiency using bitmaps over vectors.
Before Flash 8, support for bitmap images was
minimal. Although they could be loaded and displayed, there wasn't
much you could do with them at runtime. The BitmapData class
offers a nice set of tools for creating and manipulating bitmap
graphics at runtime in Flash.
|