ImagickDraw::setVectorGraphics

ベクターグラフィックを設定する

説明

public bool ImagickDraw::setVectorGraphics(string $xml)
警告

この関数は、 現在のところ詳細な情報はありません。引数のリストのみが 記述されています。

指定した ImagickDraw オブジェクトに関連付けるベクターグラフィックを設定します。 このメソッドを ImagickDraw::getVectorGraphics と組み合わせて使用すると、 ベクターグラフィックの状態を持続させることができます。

パラメータ

xml

ベクターグラフィックを表す xml。

戻り値

成功した場合に true を、失敗した場合に false を返します。

例1 ImagickDraw::setVectorGraphics の例

<?php
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();
}

?>