Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Графика > Текст в центре картинки


Автор: Gold Dragon 17.6.2011, 12:09
Что-то не могу разобраться как наложить текст на картинку, отцентрировав его и по вертикали и по горизонтали?

Автор: DenNTRooT 17.7.2011, 11:25
Можно так:

Код

<?php
// Задаем размеры изображения
$width = 400;
$height = 100;
 
$im = ImageCreate($width, $height);

// белый бон и голубой текст
$bg = ImageColorAllocate($im, 255, 255, 255);
 
// серая рамка
$border = ImageColorAllocate($im, 207, 199, 199);
ImageRectangle($im, 0, 0, $width - 1, $height - 1, $border);
 
$text = 'Hello, World!';
 
$textcolor = ImageColorAllocate($im, 0, 0, 255);
 
// Размер шрифта
$font = 3;
 
$font_width = ImageFontWidth($font);
$font_height = ImageFontHeight($font);
 
/*
-----------
Ширана текстовой надписи
-----------
*/
 
$text_width = $font_width * strlen($text);
 
// Выравниваем по центру
$position_center = ceil(($width - $text_width) / 2);
 
/*
-----------
Высота текстовой надписи
-----------
*/
 
$text_height = $font_height;
 
// Выравниваем по центру
$position_middle = ceil(($height - $text_height) / 2);
 
/*
-----------------
Рисуем наш текст
-----------------
*/
 
$image_string = ImageString($im, $font, $position_center, $position_middle, $text, $textcolor);
 
/*
--------------------------------------
Выводим наше изображение ( в формате PNG)
--------------------------------------
*/
header("Content-type: image/png");
ImagePNG($im);
?>

Автор: Gold Dragon 18.7.2011, 08:52
Вот спасибо!!! То что нужно

Автор: lenninn 10.1.2013, 00:48
Спасибо огромное! И мне помогло!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)