Sempervivum
Erfahrenes Mitglied
... das Ändern des Formats ist einfacher als ich dachte:
... und die Artefakte sind verschwunden.
Code:
// Leeres Imagick-Objekt erzeugen
$im2 = new Imagick();
// Darin ein Bild mit grünem Hintergrund erzeugen
$im2->newImage($wimg, 200, 'green', 'png');
/* Text zeichnen */
// Offenbar ist es problemlos möglich, das selbe Draw-Ojekt
// vom ersten Bild wieder zu verwenden.
// Wir ändern Schriftgröße und Farbe:
$draw->setFontSize(20);
$draw->setFillColor('red');
// Text auf das zweite Bild zeichnen:
$im2->annotateImage(
$draw,
$wimg / 2,
45,
0,
'The quick brown fox jumps over the lazy dog'
);
// Beide Bilder dem Gesamtbild hinzu fügen
$im->addImage($im1);
$im->addImage($im2);
$im->resetIterator();
$combined = $im->appendImages(true);
// base64-Format vorbereiten
$combined->setImageFormat('png');
$imgBuff = $combined->getimageblob();
header('Content-type:image/png');
echo $imgBuff;