NAME

Image::LibRSVG - Perl extension for librsvg

SYNOPSIS

use Image::LibRSVG;

## static Methods
my $known_formats = Image::LibRSVG->getKnownFormats();
my $formats       = Image::LibRSVG->getSupportedFormats();
my $isSupported   = Image::LibRSVG->isFormatSupported("tiff");

my $rsvg = new Image::LibRSVG();

$rsvg->convert("my.svg", "my.png" );
$rsvg->convertAtZoom("my.svg", "my.png", 1.5, 1.5 );
$rsvg->convertAtMaxSize("my.svg", "my.png", 200, 300 );
$rsvg->convertAtSize("my.svg", "my.png", 200, 300 );
$rsvg->convertAtZoomWithMax("my.svg", "my.png", 1.5, 1.5, 200, 300 );

$formats     = $rsvg->getSupportedFormats();
$isSupported = $rsvg->isFormatSupported("tiff");

$rsvg->loadImage( "my.svg" );

open( SVGFILE, "< my.svg" );
local( $/ ) ;
$rsvg->loadImageFromString( <SVGFILE> );
close SVGFILE;

$rsvg->saveAs( "my.png" );
$rsvg->saveAs( "my.jpg", "jpeg" );

$rsvg->loadImage( "my.svg", 0, { zoom => [ 1.5, 1.5 ] } );
$rsvg->saveAs( "zoomed.png" );

my $bitmap = $rsvg->getImageBitmap();

ABSTRACT

This module provides an Perl-Interface towards the gnome-lib
librsvg-2.

DESCRIPTION

This module provides an Perl-Interface towards the gnome-lib librsvg-2 which is able to convert SVG(Scaleable Vector Graphics) into bitmapformats like (PNG,JPG,...). To which formats you can convert the svg-files depends on your gdk-pixbuf configuration. Still at least PNG and JPG should be available.

EXPORT

None by default.

Methods

Constructor

  • new()

static methods

  • ArrayRef getKnownFormats()

    returns all formats known to gdk-pixbuf

  • ArrayRef getSupportedFormats()

    returns all formats you can store your svg image into

  • bool isFormatSupported( String format )

    returns true if you can store your image in this format else false

member methods

  • bool loadImage( String svgfile[, int dpi=0, HashRef args] )

    This is function provides a common call mechanism to for all functions below, the args-variable can hold the following values:

    Case 1( = loadFromFile ):
    undef
    Case 2( = loadFromFile ):
    empty hashref
    Case 3( = loadFromFileAtZoom )
    zoom->[0] ... x_zoom
    zoom->[1] ... y_zoom
    Case 4( = loadFromFileAtMaxSize ):
    dimension->[0] ... x-size
    dimension->[1] ... y-size
    Case 5( = loadFromFileAtSize ):
    dimension->[0] ... x-size
    dimension->[1] ... y-size
    dimension->[2] ... max-size-flag
    Case 6( = loadFromFileAtZoomWithMax ):
    zoom->[0] ........ x_zoom
    zoom->[1] ........ y_zoom
    dimension->[0] ... x-size
    dimension->[1] ... y-size
  • bool loadImageFromString( String svgfile[, int dpi=0, HashRef args] )

    Loads the image from an String containing a plain SVG. For information about args see loadImage.

  • bool loadFromFile(String svgfile,[int dpi=0])

  • bool loadFromFileAtZoom( String svgfile, double x_zoom, double y_zoom[, int dpi=0] )

  • bool loadFromFileAtMaxSize( String svgfile, int width, int height[, int dpi=0] )

  • bool loadFromFileAtSize( String svgfile, int width, int height[, int dpi=0] )

  • bool loadFromFileAtZoomWithMax( String svgfile, double x_zoom, double y_zoom, int width, int height[, int dpi=0] )

  • bool loadFromString(String svgfile,[int dpi=0])

  • bool loadFromStringAtZoom( String svgfile, double x_zoom, double y_zoom[, int dpi=0] )

  • bool loadFromStringAtMaxSize( String svgfile, int width, int height[, int dpi=0] )

  • bool loadFromStringAtSize( String svgfile, int width, int height[, int dpi=0] )

  • bool loadFromStringAtZoomWithMax( String svgfile, double x_zoom, double y_zoom, int width, int height[, int dpi=0] )

  • bool convert( String svgfile, String bitmapfile[, int dpi=0, String format="png", int quality=100] )

  • bool convertAtZoom( String svgfile, String bitmapfile, double x_zoom, double y_zoom[, int dpi=0, String format="png", int quality=100] )

  • bool convertAtMaxSize( String svgfile, String bitmapfile, int width, int height[, int dpi=0, String format="png", int quality=100] )

  • bool convertAtSize( String svgfile, String bitmapfile, int width, int height[, int dpi=0, String format="png", int quality=100] )

  • bool convertAtZoomWithMax( String svgfile, String bitmapfile, double x_zoom, double y_zoom, int width, int height[, int dpi=0, String format="png", int quality=100] )

  • bool saveAs( String filename, [ String type, String quality ] )

    Saves the image to a file

  • SV getBitmap( [ String type, String quality ] )

    Saves the image to a scalar which can be passed on to other applications. This only return a useful value if you have compiled it with a gdk-pixbuf greater than or equal to 2.4

SEE ALSO

http://librsvg.sf.net

AUTHOR

Tom Schindl, <tom.schindl@bestsolution.at>

COPYRIGHT AND LICENSE

Copyright 2004 by Tom Schindl and bestsolution Systemhaus GmbH

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.