=pod

=head1 NAME

IUP::Canvas::FileBitmap - [special] 2D drawing canvas storing the result into bitmap image file (PNG, JPG, GIF, ...)

=head1 SYNOPSIS

 use IUP::Constants ':cd';
 use IUP::Canvas::FileBitmap;

 my $cnv = IUP::Canvas::FileBitmap->new(width=>400, height=>400);

 $cnv->cdForeground(CD_RED);
 $cnv->cdBox(0, 200, 0, 400);

 $cnv->cdForeground(CD_BLACK);
 $cnv->cdLineStyle(CD_DOTTED);
 $cnv->cdArc(200,200,180,380,0,360);

 # BEWARE: this is different from IUP::Canvas::FileVector
 $cnv->cdDumpBitmap("output.png", "PNG");
 $cnv->cdDumpBitmap("output.jpg", "JPEG");
 $cnv->cdKillCanvas;

Supported constructors: XXX-TODO add some description

 IUP::Canvas::FileBitmap->new( bitmap=>'file.png' );
 IUP::Canvas::FileBitmap->new( width=>$w, height=>$h );
 IUP::Canvas::FileBitmap->new( width=>$w, height=>$h, resolution=$r, has_alpha=$a ); 
 IUP::Canvas::FileBitmap->new( bitmap=>$b, resolution=>$r );
 IUP::Canvas::FileBitmap->new( bitmap=>IUP::Canvas::Bitmap->new(type=>CD_RGB, pixels=>$pixels) ); 
 
=head1 DESCRIPTION

L<IUP::Canvas::FileVector> is derived from L<IUP::Canvas> and offers all 2D drawing related methods:

=over

=item * L<Canvas Related Constants|IUP::Canvas/"Canvas Related Constants">

=item * L<Methods - Basic Canvas Control|IUP::Canvas/"Methods - Basic Canvas Control">

=item * L<Methods - Color Coding|IUP::Canvas/"Methods - Color Coding">

=item * L<Methods - Coordinate System|IUP::Canvas/"Methods - Coordinate System">

=item * L<Methods - World Coordinates|IUP::Canvas/"Methods - World Coordinates">

=item * L<Methods - Primitives E<sol> Marks|IUP::Canvas/"Methods - Primitives E<sol> Marks">

=item * L<Methods - Primitives E<sol> Lines|IUP::Canvas/"Methods - Primitives E<sol> Lines">

=item * L<Methods - Primitives E<sol> Polygons|IUP::Canvas/"Methods - Primitives E<sol> Polygons">

=item * L<Methods - Primitives E<sol> Filled Areas|IUP::Canvas/"Methods - Primitives E<sol> Filled Areas">

=item * L<Methods - Primitives E<sol> Text|IUP::Canvas/"Methods - Primitives E<sol> Text">

=item * L<Methods - Primitives E<sol> Vector Text|IUP::Canvas/"Methods - Primitives E<sol> Vector Text">

=item * L<Methods - Primitives E<sol> Client Images|IUP::Canvas/"Methods - Primitives E<sol> Client Images">

=item * L<Methods - Primitives E<sol> Server Images|IUP::Canvas/"Methods - Primitives E<sol> Server Images">

=item * L<Methods - Canvas Clipping|IUP::Canvas/"Methods - Canvas Clipping|IUP::Canvas">

=item * L<Methods - Complex Clipping Regions|IUP::Canvas/"Methods - Complex Clipping Regions">

=item * L<Methods - Others|IUP::Canvas/"Methods - Others">

=back

=head1 SEE ALSO

L<IUP::Canvas>, L<IUP::Canvas::FileVector>

=cut