PDL::IO::GD man page on Peanut

Man page or keyword search:  
man Server   7435 pages
apropos Keyword Search (all sections)
Output format
Peanut logo
[printable version]

GD(3)		      User Contributed Perl Documentation		 GD(3)

NAME
       PDL::IO::GD - Interface to the GD image library.

SYNOPSIS
	my $pdl = sequence(byte, 30, 30);
	write_png($pdl, load_lut($lutfile), "test.png");

	write_true_png(sequence(100, 100, 3), "test_true.png");

	my $image = read_png("test.png");

	my $image = read_true_png("test_true_read.png");
	write_true_png($image, "test_true_read.out.png");

	my $lut = read_png_lut("test.png");

	$pdl = sequence(byte, 30, 30);
	write_png_ex($pdl, load_lut($lutfile), "test_nocomp.png", 0);
	write_png_ex($pdl, load_lut($lutfile), "test_bestcomp1.png", 9);
	write_png_best($pdl, load_lut($lutfile), "test_bestcomp2.png");

	$pdl = sequence(100, 100, 3);
	write_true_png_ex($pdl, "test_true_nocomp.png", 0);
	write_true_png_ex($pdl, "test_true_bestcomp1.png", 9);
	write_true_png_best($pdl, "test_true_bestcomp2.png");

	recompress_png_best("test_recomp_best.png");

DESCRIPTION
       This is the "General Interface" for the PDL::IO::GD library, and is
       actually several years old at this point (read: stable). If you're
       feeling frisky, try the new OO interface described below.

       The general version just provides several image IO utility functions
       you can use with piddle variables. It's deceptively useful, however.

FUNCTIONS
       write_png

	 Signature: (byte img(x,y); byte lut(i,j); char* filename)

       Writes a 2-d PDL varable out to a PNG file, using the supplied color
       look-up-table piddle (hereafter referred to as a LUT).

       The LUT contains a line for each value 0-255 with a corresponding R, G,
       and B value.

       write_png_ex

	 Signature: (img(x,y); lut(i,j); char* filename; int level)

       Same as write_png(), except you can specify the compression level (0-9)
       as the last arguement.

       write_true_png

	 Signature: (img(x,y,z); char* filename)

       Writes an (x, y, z(3)) PDL varable out to a PNG file, using a true
       color format.

       This means a larger file on disk, but can contain more than 256 colors.

       write_true_png_ex

	 Signature: (img(x,y,z); char* filename; int level)

       Same as write_true_png(), except you can specify the compression level
       (0-9) as the last arguement.

       write_png_best( $img(piddle), $lut(piddle), $filename )

       Like write_png(), but it assumes the best PNG compression (9).

       write_true_png_best( $img(piddle), $filename )

       Like write_true_png(), but it assumes the best PNG compression (9).

       load_lut( $filename )

       Loads a color look up table from an ASCII file. returns a piddle

       read_png( $filename )

       Reads a (palette) PNG image into a (new) PDL variable.

       read_png_true( $filename )

       Reads a true color PNG image into a (new) PDL variable.

       my $lut = read_png_lut( $filename )

       Reads a color LUT from an already-existing palette PNG file.

OO INTERFACE
       Object Oriented interface to the GD image library.

SYNOPSIS
	# Open an existing file:
	#
	my $gd = PDL::IO::GD->new( { filename => "test.png" } );

	# Query the x and y sizes:
	my $x = $gd->SX();
	my $y = $gd->SY();

	# Grab the PDL of the data:
	my $pdl = $gd->to_pdl();

	# Kill this thing:
	$gd->DESTROY();

	# Create a new object:
	#
	my $im = PDL::IO::GD->new( { x => 300, y => 300 } );

	# Allocate some colors:
	#
	my $black = $im->ColorAllocate( 0, 0, 0 );
	my $red = $im->ColorAllocate( 255, 0, 0 );
	my $green = $im->ColorAllocate( 0, 255, 0 );
	my $blue = $im->ColorAllocate( 0, 0, 255 );

	# Draw a rectangle:
	$im->Rectangle( 10, 10, 290, 290, $red );

	# Add some text:
	$im->String( gdFontGetLarge(), 20, 20, "Test Large Font!", $green );

	# Write the output file:
	$im->write_Png( "test2.png" );

DESCRIPTION
       This is the Object-Oriented interface from PDL to the GD image library.

       See <http://www.boutell.com/gd/> for more information on the GD library
       and how it works.

       IMPLEMENTATION NOTES

       Surprisingly enough, this interface has nothing to do with the other
       Perl->GD interface module, aka 'GD' (as in 'use GD;'). This is done
       from scratch over the years.

       Requires at least version 2.0.22 of the GD library, but it's only been
       thoroughly tested with gd-2.0.33, so it would be best to use that. The
       2.0.22 requirement has to do with a change in GD's font handling
       functions, so if you don't use those, then don't worry about it.

       I should also add, the statement about "thoroughly tested" above is
       mostly a joke. This is the first version of the OO interface, and it
       has barely been tested at all, so if something breaks, email me and
       I'll get it fixed ASAP (for me).

       Functions that manipulate and query the image objects generally have a
       'gdImage' prefix on the function names (ex: gdImageString()). I've
       created aliases here for all of those member functions so you don't
       have to keep typing 'gdImage' in your code, but the long version are in
       there as well.

FUNCTIONS
       new

       Creates a new PDL::IO::GD object.

       Accepts an anonymous hash describing how to create it. Use curly braces
       here!

       If the hash has:

	pdl => $pdl_var (lut => $lut_piddle)
	   Then a new GD is created from that PDL variable.

	filename => $file
	   Then a new GD is created from the image file.

	x => $num, y => $num
	   Then a new GD is created as a palette image, with size x, y

	x => $num, y => $num, true_color => 1
	   Then a new GD is created as a true color image, with size x, y

       Example:

	my $gd = PDL::IO::GD->new({ pdl => $pdl_var });

	my $gd = PDL::IO::GD->new({ pdl => $pdl_var, lut => $lut_piddle });

	my $gd = PDL::IO::GD->new({ filename => "image.png" });

	my $gd = PDL::IO::GD->new({ x => 100, y => 100 });

	my $gd = PDL::IO::GD->new({ x => 100, y => 100, true_color => 1 });

       to_pdl

       When you're done playing with your GDImage and want a piddle back, use
       this function to return one.

       apply_lut( $lut(piddle) )

       Does a $im->ColorAllocate() for and entire LUT piddle at once.

       The LUT piddle format is the same as for the general interface above.

       WARNING:

       All of the docs below this point are auto-generated (not to mention the
       actual code), so read with a grain of salt, and always check the main
       GD documentation about how that function works and what it does.

       write_Png

       $image->write_Png( $filename )

       write_PngEx

       $image->write_PngEx( $filename, $level )

       write_WBMP

       $image->write_WBMP( $fg, $filename )

       write_Jpeg

       $image->write_Jpeg( $filename, $quality )

       write_Gd

       $image->write_Gd( $filename )

       write_Gd2

       $image->write_Gd2( $filename, $cs, $fmt )

       write_Gif

       $image->write_Gif( $filename )

       Destroy

       $image->Destroy(	 )

       Alias for gdImageDestroy.

       gdImageDestroy

       $image->gdImageDestroy(	)

       SetPixel

       $image->SetPixel( $x, $y, $color )

       Alias for gdImageSetPixel.

       gdImageSetPixel

       $image->gdImageSetPixel( $x, $y, $color )

       GetPixel

       $image->GetPixel( $x, $y )

       Alias for gdImageGetPixel.

       gdImageGetPixel

       $image->gdImageGetPixel( $x, $y )

       AABlend

       $image->AABlend(	 )

       Alias for gdImageAABlend.

       gdImageAABlend

       $image->gdImageAABlend(	)

       Line

       $image->Line( $x1, $y1, $x2, $y2, $color )

       Alias for gdImageLine.

       gdImageLine

       $image->gdImageLine( $x1, $y1, $x2, $y2, $color )

       DashedLine

       $image->DashedLine( $x1, $y1, $x2, $y2, $color )

       Alias for gdImageDashedLine.

       gdImageDashedLine

       $image->gdImageDashedLine( $x1, $y1, $x2, $y2, $color )

       Rectangle

       $image->Rectangle( $x1, $y1, $x2, $y2, $color )

       Alias for gdImageRectangle.

       gdImageRectangle

       $image->gdImageRectangle( $x1, $y1, $x2, $y2, $color )

       FilledRectangle

       $image->FilledRectangle( $x1, $y1, $x2, $y2, $color )

       Alias for gdImageFilledRectangle.

       gdImageFilledRectangle

       $image->gdImageFilledRectangle( $x1, $y1, $x2, $y2, $color )

       SetClip

       $image->SetClip( $x1, $y1, $x2, $y2 )

       Alias for gdImageSetClip.

       gdImageSetClip

       $image->gdImageSetClip( $x1, $y1, $x2, $y2 )

       GetClip

       $image->GetClip( $x1P, $y1P, $x2P, $y2P )

       Alias for gdImageGetClip.

       gdImageGetClip

       $image->gdImageGetClip( $x1P, $y1P, $x2P, $y2P )

       BoundsSafe

       $image->BoundsSafe( $x, $y )

       Alias for gdImageBoundsSafe.

       gdImageBoundsSafe

       $image->gdImageBoundsSafe( $x, $y )

       Char

       $image->Char( $f, $x, $y, $c, $color )

       Alias for gdImageChar.

       gdImageChar

       $image->gdImageChar( $f, $x, $y, $c, $color )

       CharUp

       $image->CharUp( $f, $x, $y, $c, $color )

       Alias for gdImageCharUp.

       gdImageCharUp

       $image->gdImageCharUp( $f, $x, $y, $c, $color )

       String

       $image->String( $f, $x, $y, $s, $color )

       Alias for gdImageString.

       gdImageString

       $image->gdImageString( $f, $x, $y, $s, $color )

       StringUp

       $image->StringUp( $f, $x, $y, $s, $color )

       Alias for gdImageStringUp.

       gdImageStringUp

       $image->gdImageStringUp( $f, $x, $y, $s, $color )

       String16

       $image->String16( $f, $x, $y, $s, $color )

       Alias for gdImageString16.

       gdImageString16

       $image->gdImageString16( $f, $x, $y, $s, $color )

       StringUp16

       $image->StringUp16( $f, $x, $y, $s, $color )

       Alias for gdImageStringUp16.

       gdImageStringUp16

       $image->gdImageStringUp16( $f, $x, $y, $s, $color )

       Polygon

       $image->Polygon( $p, $n, $c )

       Alias for gdImagePolygon.

       gdImagePolygon

       $image->gdImagePolygon( $p, $n, $c )

       FilledPolygon

       $image->FilledPolygon( $p, $n, $c )

       Alias for gdImageFilledPolygon.

       gdImageFilledPolygon

       $image->gdImageFilledPolygon( $p, $n, $c )

       ColorAllocate

       $image->ColorAllocate( $r, $g, $b )

       Alias for gdImageColorAllocate.

       gdImageColorAllocate

       $image->gdImageColorAllocate( $r, $g, $b )

       ColorAllocateAlpha

       $image->ColorAllocateAlpha( $r, $g, $b, $a )

       Alias for gdImageColorAllocateAlpha.

       gdImageColorAllocateAlpha

       $image->gdImageColorAllocateAlpha( $r, $g, $b, $a )

       ColorClosest

       $image->ColorClosest( $r, $g, $b )

       Alias for gdImageColorClosest.

       gdImageColorClosest

       $image->gdImageColorClosest( $r, $g, $b )

       ColorClosestAlpha

       $image->ColorClosestAlpha( $r, $g, $b, $a )

       Alias for gdImageColorClosestAlpha.

       gdImageColorClosestAlpha

       $image->gdImageColorClosestAlpha( $r, $g, $b, $a )

       ColorClosestHWB

       $image->ColorClosestHWB( $r, $g, $b )

       Alias for gdImageColorClosestHWB.

       gdImageColorClosestHWB

       $image->gdImageColorClosestHWB( $r, $g, $b )

       ColorExact

       $image->ColorExact( $r, $g, $b )

       Alias for gdImageColorExact.

       gdImageColorExact

       $image->gdImageColorExact( $r, $g, $b )

       ColorExactAlpha

       $image->ColorExactAlpha( $r, $g, $b, $a )

       Alias for gdImageColorExactAlpha.

       gdImageColorExactAlpha

       $image->gdImageColorExactAlpha( $r, $g, $b, $a )

       ColorResolve

       $image->ColorResolve( $r, $g, $b )

       Alias for gdImageColorResolve.

       gdImageColorResolve

       $image->gdImageColorResolve( $r, $g, $b )

       ColorResolveAlpha

       $image->ColorResolveAlpha( $r, $g, $b, $a )

       Alias for gdImageColorResolveAlpha.

       gdImageColorResolveAlpha

       $image->gdImageColorResolveAlpha( $r, $g, $b, $a )

       ColorDeallocate

       $image->ColorDeallocate( $color )

       Alias for gdImageColorDeallocate.

       gdImageColorDeallocate

       $image->gdImageColorDeallocate( $color )

       TrueColorToPalette

       $image->TrueColorToPalette( $ditherFlag, $colorsWanted )

       Alias for gdImageTrueColorToPalette.

       gdImageTrueColorToPalette

       $image->gdImageTrueColorToPalette( $ditherFlag, $colorsWanted )

       ColorTransparent

       $image->ColorTransparent( $color )

       Alias for gdImageColorTransparent.

       gdImageColorTransparent

       $image->gdImageColorTransparent( $color )

       FilledArc

       $image->FilledArc( $cx, $cy, $w, $h, $s, $e, $color, $style )

       Alias for gdImageFilledArc.

       gdImageFilledArc

       $image->gdImageFilledArc( $cx, $cy, $w, $h, $s, $e, $color, $style )

       Arc

       $image->Arc( $cx, $cy, $w, $h, $s, $e, $color )

       Alias for gdImageArc.

       gdImageArc

       $image->gdImageArc( $cx, $cy, $w, $h, $s, $e, $color )

       FilledEllipse

       $image->FilledEllipse( $cx, $cy, $w, $h, $color )

       Alias for gdImageFilledEllipse.

       gdImageFilledEllipse

       $image->gdImageFilledEllipse( $cx, $cy, $w, $h, $color )

       FillToBorder

       $image->FillToBorder( $x, $y, $border, $color )

       Alias for gdImageFillToBorder.

       gdImageFillToBorder

       $image->gdImageFillToBorder( $x, $y, $border, $color )

       Fill

       $image->Fill( $x, $y, $color )

       Alias for gdImageFill.

       gdImageFill

       $image->gdImageFill( $x, $y, $color )

       CopyRotated

       $image->CopyRotated( $dstX, $dstY, $srcX, $srcY, $srcWidth, $srcHeight,
       $angle )

       Alias for gdImageCopyRotated.

       gdImageCopyRotated

       $image->gdImageCopyRotated( $dstX, $dstY, $srcX, $srcY, $srcWidth,
       $srcHeight, $angle )

       SetBrush

       $image->SetBrush(  )

       Alias for gdImageSetBrush.

       gdImageSetBrush

       $image->gdImageSetBrush(	 )

       SetTile

       $image->SetTile(	 )

       Alias for gdImageSetTile.

       gdImageSetTile

       $image->gdImageSetTile(	)

       SetAntiAliased

       $image->SetAntiAliased( $c )

       Alias for gdImageSetAntiAliased.

       gdImageSetAntiAliased

       $image->gdImageSetAntiAliased( $c )

       SetAntiAliasedDontBlend

       $image->SetAntiAliasedDontBlend( $c, $dont_blend )

       Alias for gdImageSetAntiAliasedDontBlend.

       gdImageSetAntiAliasedDontBlend

       $image->gdImageSetAntiAliasedDontBlend( $c, $dont_blend )

       SetStyle

       $image->SetStyle( $style, $noOfPixels )

       Alias for gdImageSetStyle.

       gdImageSetStyle

       $image->gdImageSetStyle( $style, $noOfPixels )

       SetThickness

       $image->SetThickness( $thickness )

       Alias for gdImageSetThickness.

       gdImageSetThickness

       $image->gdImageSetThickness( $thickness )

       Interlace

       $image->Interlace( $interlaceArg )

       Alias for gdImageInterlace.

       gdImageInterlace

       $image->gdImageInterlace( $interlaceArg )

       AlphaBlending

       $image->AlphaBlending( $alphaBlendingArg )

       Alias for gdImageAlphaBlending.

       gdImageAlphaBlending

       $image->gdImageAlphaBlending( $alphaBlendingArg )

       SaveAlpha

       $image->SaveAlpha( $saveAlphaArg )

       Alias for gdImageSaveAlpha.

       gdImageSaveAlpha

       $image->gdImageSaveAlpha( $saveAlphaArg )

       TrueColor

       $image->TrueColor(  )

       Alias for gdImageTrueColor.

       gdImageTrueColor

       $image->gdImageTrueColor(  )

       ColorsTotal

       $image->ColorsTotal(  )

       Alias for gdImageColorsTotal.

       gdImageColorsTotal

       $image->gdImageColorsTotal(  )

       Red

       $image->Red( $c )

       Alias for gdImageRed.

       gdImageRed

       $image->gdImageRed( $c )

       Green

       $image->Green( $c )

       Alias for gdImageGreen.

       gdImageGreen

       $image->gdImageGreen( $c )

       Blue

       $image->Blue( $c )

       Alias for gdImageBlue.

       gdImageBlue

       $image->gdImageBlue( $c )

       Alpha

       $image->Alpha( $c )

       Alias for gdImageAlpha.

       gdImageAlpha

       $image->gdImageAlpha( $c )

       GetTransparent

       $image->GetTransparent(	)

       Alias for gdImageGetTransparent.

       gdImageGetTransparent

       $image->gdImageGetTransparent(  )

       GetInterlaced

       $image->GetInterlaced(  )

       Alias for gdImageGetInterlaced.

       gdImageGetInterlaced

       $image->gdImageGetInterlaced(  )

       SX

       $image->SX(  )

       Alias for gdImageSX.

       gdImageSX

       $image->gdImageSX(  )

       SY

       $image->SY(  )

       Alias for gdImageSY.

       gdImageSY

       $image->gdImageSY(  )

       StringTTF

       $image->StringTTF( $brect, $fg, $fontlist, $ptsize, $angle, $x, $y,
       $string )

       Alias for gdImageStringTTF.

       gdImageStringTTF

       $image->gdImageStringTTF( $brect, $fg, $fontlist, $ptsize, $angle, $x,
       $y, $string )

       StringFT

       $image->StringFT( $brect, $fg, $fontlist, $ptsize, $angle, $x, $y,
       $string )

       Alias for gdImageStringFT.

       gdImageStringFT

       $image->gdImageStringFT( $brect, $fg, $fontlist, $ptsize, $angle, $x,
       $y, $string )

       ColorAllocates

       $image->ColorAllocates( $r(pdl), $g(pdl), $b(pdl) )

       Alias for gdImageColorAllocates.

       gdImageColorAllocates

       $image->gdImageColorAllocates( $r(pdl), $g(pdl), $b(pdl) )

       ColorAllocateAlphas

       $image->ColorAllocateAlphas( $r(pdl), $g(pdl), $b(pdl), $a(pdl) )

       Alias for gdImageColorAllocateAlphas.

       gdImageColorAllocateAlphas

       $image->gdImageColorAllocateAlphas( $r(pdl), $g(pdl), $b(pdl), $a(pdl)
       )

       SetPixels

       $image->SetPixels( $x(pdl), $y(pdl), $color(pdl) )

       Alias for gdImageSetPixels.

       gdImageSetPixels

       $image->gdImageSetPixels( $x(pdl), $y(pdl), $color(pdl) )

       Lines

       $image->Lines( $x1(pdl), $y1(pdl), $x2(pdl), $y2(pdl), $color(pdl) )

       Alias for gdImageLines.

       gdImageLines

       $image->gdImageLines( $x1(pdl), $y1(pdl), $x2(pdl), $y2(pdl),
       $color(pdl) )

       DashedLines

       $image->DashedLines( $x1(pdl), $y1(pdl), $x2(pdl), $y2(pdl),
       $color(pdl) )

       Alias for gdImageDashedLines.

       gdImageDashedLines

       $image->gdImageDashedLines( $x1(pdl), $y1(pdl), $x2(pdl), $y2(pdl),
       $color(pdl) )

       Rectangles

       $image->Rectangles( $x1(pdl), $y1(pdl), $x2(pdl), $y2(pdl), $color(pdl)
       )

       Alias for gdImageRectangles.

       gdImageRectangles

       $image->gdImageRectangles( $x1(pdl), $y1(pdl), $x2(pdl), $y2(pdl),
       $color(pdl) )

       FilledRectangles

       $image->FilledRectangles( $x1(pdl), $y1(pdl), $x2(pdl), $y2(pdl),
       $color(pdl) )

       Alias for gdImageFilledRectangles.

       gdImageFilledRectangles

       $image->gdImageFilledRectangles( $x1(pdl), $y1(pdl), $x2(pdl),
       $y2(pdl), $color(pdl) )

       FilledArcs

       $image->FilledArcs( $cx(pdl), $cy(pdl), $w(pdl), $h(pdl), $s(pdl),
       $e(pdl), $color(pdl), $style(pdl) )

       Alias for gdImageFilledArcs.

       gdImageFilledArcs

       $image->gdImageFilledArcs( $cx(pdl), $cy(pdl), $w(pdl), $h(pdl),
       $s(pdl), $e(pdl), $color(pdl), $style(pdl) )

       Arcs

       $image->Arcs( $cx(pdl), $cy(pdl), $w(pdl), $h(pdl), $s(pdl), $e(pdl),
       $color(pdl) )

       Alias for gdImageArcs.

       gdImageArcs

       $image->gdImageArcs( $cx(pdl), $cy(pdl), $w(pdl), $h(pdl), $s(pdl),
       $e(pdl), $color(pdl) )

       FilledEllipses

       $image->FilledEllipses( $cx(pdl), $cy(pdl), $w(pdl), $h(pdl),
       $color(pdl) )

       Alias for gdImageFilledEllipses.

       gdImageFilledEllipses

       $image->gdImageFilledEllipses( $cx(pdl), $cy(pdl), $w(pdl), $h(pdl),
       $color(pdl) )

CLASS FUNCTIONS
       gdImageCopy

       gdImageCopy ( $dst(PDL::IO::GD), $src(PDL::IO::GD), $dstX, $dstY,
       $srcX, $srcY, $w, $h )

       gdImageCopyMerge

       gdImageCopyMerge ( $dst(PDL::IO::GD), $src(PDL::IO::GD), $dstX, $dstY,
       $srcX, $srcY, $w, $h, $pct )

       gdImageCopyMergeGray

       gdImageCopyMergeGray ( $dst(PDL::IO::GD), $src(PDL::IO::GD), $dstX,
       $dstY, $srcX, $srcY, $w, $h, $pct )

       gdImageCopyResized

       gdImageCopyResized ( $dst(PDL::IO::GD), $src(PDL::IO::GD), $dstX,
       $dstY, $srcX, $srcY, $dstW, $dstH, $srcW, $srcH )

       gdImageCopyResampled

       gdImageCopyResampled ( $dst(PDL::IO::GD), $src(PDL::IO::GD), $dstX,
       $dstY, $srcX, $srcY, $dstW, $dstH, $srcW, $srcH )

       gdImageCompare

       gdImageCompare ( $im1(PDL::IO::GD), $im2(PDL::IO::GD) )

       gdImagePaletteCopy

       gdImagePaletteCopy ( $dst(PDL::IO::GD), $src(PDL::IO::GD) )

AUTHOR
       Judd Taylor, Orbital Systems, Ltd.  judd dot t at orbitalsystems dot
       com

perl v5.10.0			  2008-08-29				 GD(3)
[top]

List of man pages available for Peanut

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net