Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.02.2010, 23:56   #1
Deykun
 
Аватар для Deykun
 
Регистрация: 09.02.2010
Сообщений: 9
По умолчанию GD2. Размер текстового элемента

Есть функции:

imagefontheight
imagefontwidth

зачем они? Они определяют высоту и ширину чего? Я ж не задаю размер шрифта.
Как определить например высоту и ширину шрифта, размер которого задан например 12 и количество символов 4?

Для чего мне? А для того, что бы определить правильно границу по какой рандомно будет пермещаться текст благодаря функции:
imagettftext (resource image, int size, int angle, int x, int y, int col, string fontfile, string text)
Deykun вне форума Ответить с цитированием
Старый 10.02.2010, 00:19   #2
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

Может быть, здесь будет более понятно: http://ru.php.net/manual/en/function...fontheight.php
motorway вне форума Ответить с цитированием
Старый 10.02.2010, 00:28   #3
Deykun
 
Аватар для Deykun
 
Регистрация: 09.02.2010
Сообщений: 9
По умолчанию

Цитата:
Сообщение от motorway Посмотреть сообщение
Может быть, здесь будет более понятно: http://ru.php.net/manual/en/function...fontheight.php
Признаюсь, я запутался. в $font разве не путь к шрифту определенному вводить? Я вводил именно путь к шрифту, получил цифры, ничего мне не прояснившие.
А вот что значит

"Can be 1, 2, 3, 4, 5 for built-in fonts in latin2 encoding (where higher numbers corresponding to larger fonts) or any of your own font identifiers registered with imageloadfont()." ?
Deykun вне форума Ответить с цитированием
Старый 10.02.2010, 01:11   #4
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

Это как раз цифру вводить можно для системных шрифтов, а в случае своего - путь
Выводиться должна высота буквы в шрифте в пикселях.
motorway вне форума Ответить с цитированием
Старый 10.02.2010, 01:28   #5
Deykun
 
Аватар для Deykun
 
Регистрация: 09.02.2010
Сообщений: 9
По умолчанию

Цитата:
Сообщение от motorway Посмотреть сообщение
Это как раз цифру вводить можно для системных шрифтов, а в случае своего - путь
Выводиться должна высота буквы в шрифте в пикселях.
Шрифт, он по моим неглубоким познаниям векторый, и вот каким я его укажу в той же функции imagettftext, таким он и будет?
А мне нужно узнать высоту и ширину уже определенных размеров заданых. например 12px
Если высоту я могу почти с уверенностью сказать - будет 12, то ширина непонятно.
спасибо

Последний раз редактировалось Deykun; 10.02.2010 в 01:31.
Deykun вне форума Ответить с цитированием
Старый 10.02.2010, 02:03   #6
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

Да, вроде бы так.
Вот есть примерчик, может, чем-то поможет (выводит разной ширины буквы):
Код:
header("Content-type: image/png");
$im = imagecreate(200, 200);
$green = imagecolorallocate($im, 0, 255, 0);
$red = imagecolorallocate($im, 255, 0, 0);
imagefill($im, 0, 0, $red);
for ($i=1; $i<=5; $i++) {
    imagestring($im, $i, 20, $i * 15, "Font: $i", $green);
    $width = imagefontwidth($i);
    imagestring($im, $i, 90, $i * 15, "Width: $width", $green);
}
imagepng($im);
imagedestroy($im);
motorway вне форума Ответить с цитированием
Старый 10.02.2010, 02:26   #7
Deykun
 
Аватар для Deykun
 
Регистрация: 09.02.2010
Сообщений: 9
По умолчанию

Цитата:
Сообщение от motorway Посмотреть сообщение
Вот есть примерчик, может, чем-то поможет (выводит разной ширины буквы):
Угу. Опять же таки в примерчике идет работа с системными шрифтами, не мною подгруженными. По ходу не помогло, но все равно спасибо.
Deykun вне форума Ответить с цитированием
Старый 10.02.2010, 12:58   #8
Deykun
 
Аватар для Deykun
 
Регистрация: 09.02.2010
Сообщений: 9
По умолчанию

Подсказали функцию:
Код:
array imagettfbbox ( float $size , float $angle , string $fontfile , string $text )
сейчас буду копать, вроде то, что нужно))
Deykun вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
создание текстового файла shaman1 Общие вопросы C/C++ 1 09.02.2010 16:13
Вывод ТЕКСТОВОГО значения maneta Microsoft Office Excel 1 22.12.2009 19:20
Си -Расположить элементы в порядке возрастания от первого нулевого элемента до отрицательного элемента Freia Помощь студентам 17 13.12.2009 15:41
Замена текстового файла Artishok Общие вопросы Delphi 27 26.10.2009 14:47
Размер Image изменяется на размер картинки, а сама она рисуется на области первой картинки RPGer Мультимедиа в Delphi 6 20.10.2008 19:54