Tom Schindl

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.