示例#1
0
<?php

$draw = new ImagickDraw();
$svg = <<<SVG
<svg widthxmlns="http://www.w3.org/2000/svg" version="1.1">
  <rect width="300"
        height="100"
        style="fill:rgb(0,0,255);stroke-width:1;stroke:rgb(0,0,0)" />
</svg>
SVG;
$draw->setVectorGraphics($svg);
var_dump($draw->getVectorGraphics());
try {
    $draw->setVectorGraphics('invalid-svg');
} catch (Exception $ex) {
    var_dump('setVectorGraphics');
}
示例#2
0
function setVectorGraphics()
{
    //Setup a draw object with some drawing in it.
    $draw = new \ImagickDraw();
    $draw->setFillColor("red");
    $draw->circle(20, 20, 50, 50);
    $draw->setFillColor("blue");
    $draw->circle(50, 70, 50, 50);
    $draw->rectangle(50, 120, 80, 150);
    //Get the drawing as a string
    $SVG = $draw->getVectorGraphics();
    //$svg is a string, and could be saved anywhere a string can be saved
    //Use the saved drawing to generate a new draw object
    $draw2 = new \ImagickDraw();
    //Apparently the SVG text is missing the root element.
    $draw2->setVectorGraphics("<root>" . $SVG . "</root>");
    $imagick = new \Imagick();
    $imagick->newImage(200, 200, 'white');
    $imagick->setImageFormat("png");
    $imagick->drawImage($draw2);
    header("Content-Type: image/png");
    echo $imagick->getImageBlob();
}