summaryrefslogtreecommitdiff
path: root/lib/Template/Plugin/GD/Image.pm
diff options
context:
space:
mode:
authorAndreas Brachold <vdr07@deltab.de>2007-08-13 18:41:27 +0000
committerAndreas Brachold <vdr07@deltab.de>2007-08-13 18:41:27 +0000
commitbcbf441e09fb502cf64924ff2530fa144bdf52c5 (patch)
treef377707a2dac078db8cd0c7d7abfe69ac1006d71 /lib/Template/Plugin/GD/Image.pm
downloadxxv-bcbf441e09fb502cf64924ff2530fa144bdf52c5.tar.gz
xxv-bcbf441e09fb502cf64924ff2530fa144bdf52c5.tar.bz2
* Move files to trunk
Diffstat (limited to 'lib/Template/Plugin/GD/Image.pm')
-rw-r--r--lib/Template/Plugin/GD/Image.pm184
1 files changed, 184 insertions, 0 deletions
diff --git a/lib/Template/Plugin/GD/Image.pm b/lib/Template/Plugin/GD/Image.pm
new file mode 100644
index 0000000..46a06d7
--- /dev/null
+++ b/lib/Template/Plugin/GD/Image.pm
@@ -0,0 +1,184 @@
+#============================================================= -*-Perl-*-
+#
+# Template::Plugin::GD::Image
+#
+# DESCRIPTION
+#
+# Simple Template Toolkit plugin interfacing to the GD::Image
+# class in the GD.pm module.
+#
+# AUTHOR
+# Craig Barratt <craig@arraycomm.com>
+#
+# COPYRIGHT
+# Copyright (C) 2001 Craig Barratt. All Rights Reserved.
+#
+# This module is free software; you can redistribute it and/or
+# modify it under the same terms as Perl itself.
+#
+#----------------------------------------------------------------------------
+#
+# $Id: Image.pm,v 1.55 2004/01/13 16:20:46 abw Exp $
+#
+#============================================================================
+
+package Template::Plugin::GD::Image;
+
+require 5.004;
+
+use strict;
+use GD;
+use Template::Plugin;
+use base qw( GD Template::Plugin );
+use vars qw( $VERSION );
+
+$VERSION = sprintf("%d.%02d", q$Revision: 1.55 $ =~ /(\d+)\.(\d+)/);
+
+sub new
+{
+ my $class = shift;
+ my $context = shift;
+ return new GD::Image(@_);
+}
+
+1;
+
+__END__
+
+
+#------------------------------------------------------------------------
+# IMPORTANT NOTE
+# This documentation is generated automatically from source
+# templates. Any changes you make here may be lost.
+#
+# The 'docsrc' documentation source bundle is available for download
+# from http://www.template-toolkit.org/docs.html and contains all
+# the source templates, XML files, scripts, etc., from which the
+# documentation for the Template Toolkit is built.
+#------------------------------------------------------------------------
+
+=head1 NAME
+
+Template::Plugin::GD::Image - Interface to GD Graphics Library
+
+=head1 SYNOPSIS
+
+ [% USE im = GD.Image(x_size, y_size) %]
+
+=head1 EXAMPLES
+
+ [% FILTER null;
+ USE gdc = GD.Constants;
+ USE im = GD.Image(200,100);
+ black = im.colorAllocate(0 ,0, 0);
+ red = im.colorAllocate(255,0, 0);
+ r = im.string(gdc.gdLargeFont, 10, 10, "Large Red Text", red);
+ im.png | stdout(1);
+ END;
+ -%]
+
+ [% FILTER null;
+ USE im = GD.Image(100,100);
+ # allocate some colors
+ black = im.colorAllocate(0, 0, 0);
+ red = im.colorAllocate(255,0, 0);
+ blue = im.colorAllocate(0, 0, 255);
+ # Draw a blue oval
+ im.arc(50,50,95,75,0,360,blue);
+ # And fill it with red
+ im.fill(50,50,red);
+ # Output binary image in PNG format
+ im.png | stdout(1);
+ END;
+ -%]
+
+ [% FILTER null;
+ USE im = GD.Image(100,100);
+ USE c = GD.Constants;
+ USE poly = GD.Polygon;
+
+ # allocate some colors
+ white = im.colorAllocate(255,255,255);
+ black = im.colorAllocate(0, 0, 0);
+ red = im.colorAllocate(255,0, 0);
+ blue = im.colorAllocate(0, 0,255);
+ green = im.colorAllocate(0, 255,0);
+
+ # make the background transparent and interlaced
+ im.transparent(white);
+ im.interlaced('true');
+
+ # Put a black frame around the picture
+ im.rectangle(0,0,99,99,black);
+
+ # Draw a blue oval
+ im.arc(50,50,95,75,0,360,blue);
+
+ # And fill it with red
+ im.fill(50,50,red);
+
+ # Draw a blue triangle
+ poly.addPt(50,0);
+ poly.addPt(99,99);
+ poly.addPt(0,99);
+ im.filledPolygon(poly, blue);
+
+ # Output binary image in PNG format
+ im.png | stdout(1);
+ END;
+ -%]
+
+=head1 DESCRIPTION
+
+The GD.Image plugin provides an interface to GD.pm's GD::Image class.
+The GD::Image class is the main interface to GD.pm.
+
+It is very important that no extraneous template output appear before or
+after the image. Since some methods return values that would otherwise
+appear in the output, it is recommended that GD.Image code be wrapped in
+a null filter. The methods that produce the final output (eg, png, jpeg,
+gd etc) can then explicitly make their output appear by using the
+stdout filter, with a non-zero argument to force binary mode (required
+for non-modern operating systems).
+
+See L<GD> for a complete description of the GD library and all the
+methods that can be called via the GD.Image plugin.
+See L<Template::Plugin::GD::Constants> for a plugin that allows you
+access to GD.pm's constants.
+
+=head1 AUTHOR
+
+Craig Barratt E<lt>craig@arraycomm.comE<gt>
+
+
+Lincoln D. Stein wrote the GD.pm interface to the GD library.
+
+
+=head1 VERSION
+
+1.55, distributed as part of the
+Template Toolkit version 2.13, released on 30 January 2004.
+
+=head1 COPYRIGHT
+
+
+Copyright (C) 2001 Craig Barratt E<lt>craig@arraycomm.comE<gt>
+
+The GD.pm interface is copyright 1995-2000, Lincoln D. Stein.
+
+This module is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+=head1 SEE ALSO
+
+L<Template::Plugin|Template::Plugin>, L<Template::Plugin::GD|Template::Plugin::GD>, L<Template::Plugin::GD::Polygon|Template::Plugin::GD::Polygon>, L<Template::Plugin::GD::Constants|Template::Plugin::GD::Constants>, L<GD|GD>
+
+=cut
+
+# Local Variables:
+# mode: perl
+# perl-indent-level: 4
+# indent-tabs-mode: nil
+# End:
+#
+# vim: expandtab shiftwidth=4: