#!/usr/bin/perl use strict; use warnings; use SVG::Rasterize; use SVG; my $rasterize; my $svg; $svg = SVG->new; $svg->rect('x' => 10, 'y' => 70, 'width' => 30, 'height' => 20, 'stroke' => 'navy', 'stroke-width' => 2, 'fill' => 'yellow'); $svg->rect('x' => 10, 'y' => 70, 'width' => 30, 'height' => 20, 'stroke' => 'navy', 'stroke-width' => 2, 'fill' => 'yellow'); $svg->rect('width' => 30, 'height' => 20, 'rx' => 10, 'ry' => 5, 'stroke' => 'purple', 'stroke-width' => 5, 'fill' => 'none', 'transform' => 'translate(50, 60) rotate(-30)'); $svg->circle('stroke' => 'yellow', 'stroke-width' => 2, 'cx' => 20, 'cy' => 20, 'r' => 15, 'fill' => 'cornflowerblue'); $svg->rect('x' => 5, 'y' => 5, 'width' => 30, 'height' => 30, 'stroke' => 'red', 'stroke-width' => 2, 'stroke-dasharray' => '7,3,3,3', 'stroke-dashoffset' => 8, 'fill' => 'none'); $svg->ellipse('stroke' => 'navy', 'stroke-width' => 2, 'cx' => 50, 'cy' => 50, 'rx' => 10, 'ry' => 40, 'fill' => 'none'); $rasterize = SVG::Rasterize->new; $rasterize->rasterize(width => 100, height => 100, svg => $svg); $rasterize->write(type => 'png', file_name => 'basic_shapes.png');