This no longer uses the fill color. It now uses the stroke color, consistent with the documentation.(PECL imagick 2, PECL imagick 3)
ImagickDraw::point — Dessine un point
Cette fonction est actuellement non documentée ; seule la liste des arguments est disponible.
Dessine un point en utilisant la couleur de trait courante, ainsi que l'épaisseur, dans les coordonnées spécifiées.
xL'abscisse du point
yL'ordonnée du point
Aucune valeur n'est retournée.
Exemple #1 Exemple avec ImagickDraw::point()
<?php
function point($fillColor, $backgroundColor) {
$draw = new \ImagickDraw();
$draw->setFillColor($fillColor);
for ($x = 0; $x < 10000; $x++) {
$draw->point(rand(0, 500), rand(0, 500));
}
$imagick = new \Imagick();
$imagick->newImage(500, 500, $backgroundColor);
$imagick->setImageFormat("png");
$imagick->drawImage($draw);
header("Content-Type: image/png");
echo $imagick->getImageBlob();
}
?>This no longer uses the fill color. It now uses the stroke color, consistent with the documentation.point($x, $y) uses the FillColor of ImagickDraw! This actually took quite a while, till I found out that it's falsely documented on these pages. So to draw single pixels, do it like this:
<?php
$image = new Imagick();
$draw = new ImagickDraw();
$pixel = new ImagickPixel('red');
$image->newImage(10, 10, 'transparent', 'gif');
// Here comes the magick:
$pixel->setColor($_POST[$i."x".$j]);
$draw->setFillColor($pixel);
$draw->point($i,$j);
$image->drawImage($draw);
$image->writeImages($path, true);
?>