Я создал этот код Imagick php для создания моих собственных изображений в формате GIF. Весь код идеален, кроме одной вещи. Последний текст (дата) заменяет текст заголовка. Может кто-нибудь понять это?
Результат для того, что я построил, выглядит следующим образом
[! [Введите описание изображения здесь] [1]] [1]
Это код этого
ob_clean();
$text=ucfirst('Title Name');
$image = new Imagick('1.gif');
$draw = new ImagickDraw();
$frameCount = 0;
foreach($image as $frame){
$image->setImageDelay((($frameCount % 40) * 40));
$draw->setGravity (Imagick::GRAVITY_NORTHWEST);
$draw->setTextAlignment(Imagick::ALIGN_CENTER);
$imgSize = $image->getImageGeometry();
$imgHeight = $imgSize['height'];
$imgWidth = $imgSize['width'];
// Calculate size
$textProperties = array( 'textWidth' => 0 );
$textDesiredWidth = intval( $imgWidth * 0.9 );
$defaultFontSize = 25;
$fontSize = 0;
$draw->setFillColor('white');
/* Font properties */
$draw->setFont('assets/fonts/EX.ttf');
while ( $textProperties['textWidth'] <= $textDesiredWidth ) {
$draw->setFontSize( $fontSize );
$textProperties = $image->queryFontMetrics( $draw, $text );
$fontSize++;
}
if($fontSize>$defaultFontSize){
$draw->setFontSize( $defaultFontSize );
$centerY = floor( ($imgHeight) / 3.3 );
}else{
$centerY = floor( ($imgHeight) / 3.6 );
}
$centerX = intval( ($imgWidth) / 2 );
$image->annotateImage( $draw, $centerX, $centerY, 0, $text );
. Как вы видите, дата ('58 days a go ') заменяет текст "PAYING" на изображении gif
любой может помочь мне понять это? спасибо