---
name: "Image::LibRSVG"
section: "3pm"
platform: "linux"
package: "libimage-librsvg-perl"
version: "0.07-10+b2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Image::LibRSVG"
---

# Image::LibRSVG(3pm)

Perl extension for librsvg

## 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.
