imagettftext дает странные результаты

Попытка нарисовать какой-то текст на уже существующем изображении в php, но получаю странные результаты.

У меня есть это изображение введите описание изображения здесь

и я пытаюсь нарисовать на нем число белым текстом, но я получаю такой результат введите описание изображения здесь

Вот код:

<?php$font = "files/fonts/open_sans/OpenSans-Regular-webfont.ttf";
$image = imagecreatefrompng('images/icons/marker_icon.png');
$white = ImageColorAllocate($image, 255,255,255);
imagettftext($image, 1, 1, 1, 1, $white, $font, $_GET['count']);
header("content-type: image/png");
imagepng($image);
imagedestroy($image);?>

Впервые рисую на изображении, поэтому я понятия не имею, что я делаю не так.

1

Решение

Вопрос был в твоем имидже, я не уверен, как и почему, но он все испортил. Я открыл его в фоторедакторе и сохранил его с другим именем как PNG, и это сработало. Кроме того, ваш текст не будет отображаться, потому что ваш размер шрифта установлен на единицу и начинается с xy 1,1. Это должно отражать как ниже:

<?php
$font = "files/fonts/open_sans/OpenSans-Regular-webfont.ttf";
$image = imagecreatefrompng('images/icons/marker_icon.png');
$white = ImageColorAllocate($image, 255,255,255);
imagettftext($image, 15, 0, 10, 35, $white, $font, $_GET['count']);
header("content-type: image/png");
imagepng($image);
imagedestroy($image);
?>

Руководство по PHP imagettftext

0

Другие решения

Догадаться. Поскольку в моем изображении много прозрачности, мне пришлось установить imageAlphaBlending в true:

    <?php
$font = "files/fonts/open_sans/OpenSans-Regular-webfont.ttf";
$image = imagecreatefrompng('images/icons/marker_icon.png');
$white = ImageColorAllocate($image, 255,255,255);imageAlphaBlending($image, true);
imageSaveAlpha($image, true);imagettftext($image, 15, 0, 10, 35, $white, $font, $_GET['count']);
header("content-type: image/png");
imagepng($image);
imagedestroy($image);
?>
0

По вопросам рекламы [email protected]