| Image-LibRSVG documentation | Contained in the Image-LibRSVG distribution. |
Image::LibRSVG - Perl extension for librsvg
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();
This module provides an Perl-Interface towards the gnome-lib librsvg-2.
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.
None by default.
returns all formats known to gdk-pixbuf
returns all formats you can store your svg image into
returns true if you can store your image in this format else false
This is function provides a common call mechanism to for all functions below, the args-variable can hold the following values:
undef
empty hashref
zoom->[0] ... x_zoom
zoom->[1] ... y_zoom
dimension->[0] ... x-size
dimension->[1] ... y-size
dimension->[0] ... x-size
dimension->[1] ... y-size
dimension->[2] ... max-size-flag
zoom->[0] ........ x_zoom
zoom->[1] ........ y_zoom
dimension->[0] ... x-size
dimension->[1] ... y-size
Loads the image from an String containing a plain SVG. For information about args see loadImage.
Saves the image to a file
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
http://librsvg.sf.net
Tom Schindl, <tom.schindl@bestsolution.at>
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.
| Image-LibRSVG documentation | Contained in the Image-LibRSVG distribution. |
package Image::LibRSVG; # ---------------------------------------------------------------- # Original File Name: Image/LibRSVG.pm # Creation Date: 04.02.2004 # Description: Loadable Perl-Package # ----------------------------------------------------------------- # # ----------------------------------------------------------------- # Copyright (c) 2004 bestsolution.at Systemhaus GmbH # ----------------------------------------------------------------- use strict; use warnings; require Exporter; 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 SVGLibRSVG ':all'; # If you do not need this, moving things directly into @EXPORT or @EXPORT_OK # will save memory. our %EXPORT_TAGS = ( 'all' => [ qw( ) ] ); our @EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } ); our @EXPORT = qw( ); our $VERSION = '0.07'; require XSLoader; XSLoader::load('Image::LibRSVG', $VERSION); # Preloaded methods go here. sub loadImage { my $self = shift; my $file_path = shift; my $dpi = shift; my $args = shift; my $rv; if( ! defined $args || (scalar keys %{ $args }) == 0 ) { $rv = $self->loadFromFile( $file_path ); } elsif ( $args->{zoom} ) { $rv = $self->loadFromFileAtZoom( $file_path, $args->{zoom}->[0], $args->{zoom}->[1], $dpi ); } elsif( $args->{dimesion} ) { if( defined $args->{dimension}->[2] && $args->{dimension}->[2] ) { $rv = $self->loadFromFileAtMaxSize( $file_path, $args->{dimension}->[0], $args->{dimension}->[1], $dpi ); } else { $rv = $self->loadFromFileAtSize( $file_path, $args->{dimension}->[0], $args->{dimension}->[1], $dpi ); } } else { $rv = $self->loadFromFileAtZoomWithMax( $file_path, $args->{zoom}->[0], $args->{zoom}->[1], $args->{dimension}->[0], $args->{dimension}->[1], $dpi ); } return $rv; } sub loadImageFromString { my $self = shift; my $file_path = shift; my $dpi = shift; my $args = shift; my $rv; if( ! defined $args || (scalar keys %{ $args }) == 0 ) { $rv = $self->loadFromString( $file_path ); } elsif ( $args->{zoom} ) { $rv = $self->loadFromStringAtZoom( $file_path, $args->{zoom}->[0], $args->{zoom}->[1], $dpi ); } elsif( $args->{dimesion} ) { if( defined $args->{dimension}->[2] && $args->{dimension}->[2] ) { $rv = $self->loadFromStringAtMaxSize( $file_path, $args->{dimension}->[0], $args->{dimension}->[1], $dpi ); } else { $rv = $self->loadFromStringAtSize( $file_path, $args->{dimension}->[0], $args->{dimension}->[1], $dpi ); } } else { $rv = $self->loadFromStringAtZoomWithMax( $file_path, $args->{zoom}->[0], $args->{zoom}->[1], $args->{dimension}->[0], $args->{dimension}->[1], $dpi ); } return $rv; } 1; __END__ # Below is stub documentation for your module. You'd better edit it!