Ich benutze imagemagick, um ein Bild mit Text zu versehen, aber ich habe Probleme damit, den Text dynamisch in die Mitte der Box zu stellen.Imagemagick Text auf Mitte setzen
Für Bonuspunkte, gibt es auch einen Weg, um es dann mit einem zweiten Befehl zu versetzen, d. H. Es 50px rechts von der Mitte zu schieben. Das liegt daran, dass ich normalerweise möchte, dass der Text in der Mitte liegt, es sei denn, sie fügen ein Bild hinzu, dann muss ich auch Platz für das Bild schaffen.
Der Text und die Schriftgröße sind variabel, müssen jedoch zentriert werden.
Das ist mein aktueller Code ist:
<?php
function process($inputdata)
{
/* Create some objects */
$image = new Imagick();
$draw = new ImagickDraw();
$pixel = new ImagickPixel('gray');
/* New image */
$image->newImage(400, 300, $pixel);
/* Black text */
$draw->setFillColor('black');
/* Font properties */
$draw->setFont('Bookman-DemiItalic');
$draw->setFontSize(30);
/* Create text */
$image->annotateImage($draw, 10, 45, 0, $inputdata);
/* Give image a format */
$image->setImageFormat('png');
/* Output the image with headers */
header('Content-type: image/png');
echo $image;
return;
}
ich versuchte, indem Sie diesen Befehl, aber es schien keine Wirkung zu haben:
$draw->setTextAlignment(\Imagick::ALIGN_CENTER);
Die nächste Antwort, die ich this one finden könnte, ist, aber es scheint ein bisschen langatmig zu sein, die Größe zu berechnen und sie dann so zu zentrieren.
Was SetGravity (Imagick :: GRAVITY_CENTER) – Bonzo
@Bonzo Hallo. Ich habe das versucht, aber es schien nicht zu funktionieren :( – Jimmy