PHP 7.4.0RC2 Released!

ImagickDraw::setStrokeDashArray

(PECL imagick 2.0.0)

ImagickDraw::setStrokeDashArrayパスの描画に使用する破線のパターンを指定する

説明

ImagickDraw::setStrokeDashArray ( array $dashArray ) : bool
警告

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

パスの描画に使用する破線のパターンを指定します。 strokeDashArray は数値の配列で、 互い違いに並べる破線と空白の長さをピクセルで表したものです。 If an odd number of values is provided, then the list of values is repeated to yield an even number of values. 既存の配列を削除するには、number_elements にゼロ、そして dash_array に null を渡します。 典型的な strokeDashArray_ 配列のメンバーは 5 3 2 となります。

パラメータ

dashArray

float の配列。

返り値

成功した場合に TRUE を返します。

例1 ImagickDraw::setStrokeDashArray()

<?php
function setStrokeDashArray($strokeColor$fillColor$backgroundColor) {

    
$draw = new \ImagickDraw();

    
$draw->setStrokeColor($strokeColor);
    
$draw->setFillColor($fillColor);
    
$draw->setStrokeWidth(4);

    
$draw->setStrokeDashArray([1010]);
    
$draw->rectangle(10050225175);

    
$draw->setStrokeDashArray([20520555,]);
    
$draw->rectangle(27550400175);

    
$draw->setStrokeDashArray([2052055]);
    
$draw->rectangle(100200225350);

    
$draw->setStrokeDashArray([11112233558813132121343455558989144144233233377377610610987987159715972584258441814181,]);

    
$draw->rectangle(275200400350);

    
$image = new \Imagick();
    
$image->newImage(500400$backgroundColor);
    
$image->setImageFormat("png");
    
$image->drawImage($draw);

    
header("Content-Type: image/png");
    echo 
$image->getImageBlob();
}

?>

add a note add a note

User Contributed Notes 2 notes

up
1
KV
6 months ago
To remove the dash and switch back to solid line, provide an array with a null value in it for $dashArray.

->setStrokeDashArray( [null] );
up
1
andrew at ierbsolutions dot co dot uk
10 years ago
Example:

<?php
$base_image
= new Imagick('example.png');
$rect = new ImagickDraw();
$rect->setFillColor(new ImagickPixel("#EEEEEE"));
$rect->setFillOpacity(0);
$rect->setStrokeColor(new ImagickPixel("#FF0000"));
$rect->setStrokeDashArray(array(5,5,5));
$rect->rectangle(10, 10, 100, 100);
$base_image->drawImage($rect);

header('Content-type: image/png');
echo
$base_image->getImage();
exit();
?>
To Top