| Image-PNGwriter documentation | Contained in the Image-PNGwriter distribution. |
Image::PNGwriter - Use pngwriter from Perl.
# General syntax:
use Image::PNGwriter;
my $pngwriter = Image::PNGwriter->new(640,480,1,'a.png');
# ... do stuff with it ...
$pngwriter->write_png();
# Another use:
my $pngwriter = Image::PNGwriter->new(640,480,1,'a.png');
$pngwriter->resize(1000,1100);
$pngwriter->clear();
$pngwriter->filledsquare(1,1,1000,1100,1,1,1);
for(300..500) { $pngwriter->circle(500,500,$_,0,$_/1000,0); }
for(0..100) { $pngwriter->plot($_,1,0,0.4,0); }
for(0..100) { $pngwriter->plotHSV($_,10,0,0.4,0); }
$pngwriter->filledcircle(500,500,100,1,0,0);
$pngwriter->plot_text('/path/to/arial.ttf',50,300,300,0,'from perl!',1,0.4,0.4);
$pngwriter->plot_text_utf8('/path/to/kochi-mincho.ttf',20,500,500,0,$utf_text,1,1,0);
print 'Height: '.$pngwriter->getheight()."\n";
print 'Width: '.$pngwriter->getwidth()."\n";
print 'Bit depth: '.$pngwriter->getbitdepth()."\n";
print 'Colortype: '.$pngwriter->getcolortype()."\n";
print 'Gamma: '.$pngwriter->getgamma()."\n";
print 'Pixel at (100,100) RGB: ';
print $pngwriter->dread(100,100,1).' '.
$pngwriter->dread(100,100,2).' '.
$pngwriter->dread(100,100,3)."\n";
print 'Pixel at (100,100) HSV: ';
print $pngwriter->dreadHSV(100,100,1).' '.
$pngwriter->dreadHSV(100,100,2).' '.
$pngwriter->dreadHSV(100,100,3)."\n";
print 'PNGWriter library version: '.$pngwriter->version()."\n";
print 'Interpolated pixel at (100.3,100,3) RGB: ';
print $pngwriter->bilinear_interpolation_dread(100.3,100.3,1).' ';
print $pngwriter->bilinear_interpolation_dread(100.3,100.3,2).' ';
print $pngwriter->bilinear_interpolation_dread(100.3,100.3,3)."\n";
$pngwriter->write_png();
This is a first version of a pngwriter module for perl. It supports most of the features of pngwriter itself except for polygons. This will be fixed in a later release.
None by default.
pngwriter.
This module is work in progress - the documentation will be updated as the module matures.
Andres Kievsky, <ank@cpan.org>
Copyright (C) 2005 by Andres Kievsky
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.5 or, at your option, any later version of Perl 5 you may have available.
| Image-PNGwriter documentation | Contained in the Image-PNGwriter distribution. |
package Image::PNGwriter; use 5.008005; use strict; use warnings; use Carp; require Exporter; use AutoLoader; our @ISA = qw(Exporter); # Items to export into callers namespace by default. Note: do not export # names by default without a very good reason. Use EXPORT_OK instead. # Do not simply export all your public functions/methods/constants. # This allows declaration use Image::PNGwriter ':all'; # If you do not need this, moving things directly into @EXPORT or @EXPORT_OK # will save memory. our %EXPORT_TAGS = ( 'all' => [ qw( PNGWRITER_DEFAULT_COMPRESSION PNGWRITER_H PNGWRITER_VERSION PNG_BYTES_TO_CHECK ) ] ); our @EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } ); our @EXPORT = qw( PNGWRITER_DEFAULT_COMPRESSION PNGWRITER_H PNGWRITER_VERSION PNG_BYTES_TO_CHECK ); our $VERSION = '0.01'; sub AUTOLOAD { # This AUTOLOAD is used to 'autoload' constants from the constant() # XS function. my $constname; our $AUTOLOAD; ($constname = $AUTOLOAD) =~ s/.*:://; croak "&Image::PNGwriter::constant not defined" if $constname eq 'constant'; my ($error, $val) = constant($constname); if ($error) { croak $error; } { no strict 'refs'; # Fixed between 5.005_53 and 5.005_61 #XXX if ($] >= 5.00561) { #XXX *$AUTOLOAD = sub () { $val }; #XXX } #XXX else { *$AUTOLOAD = sub { $val }; #XXX } } goto &$AUTOLOAD; } require XSLoader; XSLoader::load('Image::PNGwriter', $VERSION); # Preloaded methods go here. # Autoload methods go after =cut, and are processed by the autosplit program. 1; __END__ # Below is stub documentation for your module. You'd better edit it!