logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Image::LibRSVG - Perl extension for librsvg

Abstract

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

Author

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.

   MethodsConstructornew()staticmethodsArrayRefgetKnownFormats()

           returns all formats known to gdk-pixbuf

       •   ArrayRefgetSupportedFormats()

           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

       membermethodsbool 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, intheight[, 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, intheight[, 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

Name

       Image::LibRSVG - Perl extension for librsvg

See Also

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();

See Also