The SWF::Bitmap Module

The SWF::Bitmap object can be used to add bitmap images read from external files. The image must be in JPEG or DBL format.

One of the design goals of Ming was that it not require any external libraries. As a result, you cannot directly read a PNG image into a Bitmap object; first you must convert it into the DBL format using the png2dbl tool provided in the utils directory of the Ming distribution. DBL is a Ming-specific format (okay, that’s a euphemism for “hack”) that stores an image file as a DefineBitsLossless block that can be easily incorporated into an SWF file. In the future it may be possible to read PNG files directly, so check the documentation for additional functionality in the latest version.

Example 9-3 shows how to incorporate a bitmap image into a movie by assigning it as a fill to a Shape object. The shape is used as a kind of clipping path for the bitmap, and can be used anywhere a shape can be used, for instance, as a button.

Example 9-3. Reading in a bitmap image
#!/usr/bin/perl -w # # Example 9-3. Reading in a bitmap image # use strict; use SWF qw(Movie Shape Bitmap); # Fill a Shape with a Bitmap. The .dbl file has been # previously created from a PNG file using the png2dbl tool. my $b = new SWF::Bitmap("bitmap.dbl"); # Fill must be created before the Shape is drawn my $s = new SWF::Shape( ); my $f = $s->addFill($b); $s->setRightFill($f); # Get the dimensions of the bitmap and draw the Shape for the bounding box. # A smaller bounding shape ...

Get Perl Graphics Programming now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.