CakeFest 2024: The Official CakePHP Conference

ImagickDraw::setStrokeDashArray

(PECL imagick 2, PECL imagick 3)

ImagickDraw::setStrokeDashArrayKesikli çizgi örüntüsünde tireleri ve boşlukları belirler

Açıklama

public ImagickDraw::setStrokeDashArray(array $tireDizisi): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Kesikli çizgi örüntüsünü oluşturmakta kullanılacak tireleri ve boşlukları tanımlar. tireDizisi, kesikli çizgiyi oluşturan tire ve boşlukların kesikli çizgide yer alış sırasına göre dizildiği ve bunların uzunluklarının piksel sayısı cinsinden belirtildiği bir dizidir. Mevcut bir tire dizisini silmek için bağımsız değişkene sıfır elemanlı bir dizi aktarmak yeterlidir. Kullanışlı bir tire dizisi genellikle 5 3 2 üyelerinden oluşur.

Bağımsız Değişkenler

tireDizisi

Tire ve boşlukların uzunluklarını içeren dizi.

Dönen Değerler

Başarı durumunda true döner.

Örnekler

Örnek 1 - ImagickDraw::setStrokeDashArray() örneği

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

$draw = new \ImagickDraw();

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

$draw->setStrokeDashArray([10, 10]);
$draw->rectangle(100, 50, 225, 175);

$draw->setStrokeDashArray([20, 5, 20, 5, 5, 5,]);
$draw->rectangle(275, 50, 400, 175);

$draw->setStrokeDashArray([20, 5, 20, 5, 5]);
$draw->rectangle(100, 200, 225, 350);

$draw->setStrokeDashArray([1, 1, 1, 1, 2, 2, 3, 3, 5, 5, 8, 8, 13, 13, 21, 21, 34, 34, 55, 55, 89, 89, 144, 144, 233, 233, 377, 377, 610, 610, 987, 987, 1597, 1597, 2584, 2584, 4181, 4181,]);

$draw->rectangle(275, 200, 400, 350);

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

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

?>

add a note

User Contributed Notes 2 notes

up
1
KV
5 years 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
15 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