Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Определение размеров текста, в картинке "на лету" 
:(
    Опции темы
Elfet
  Дата 8.8.2005, 14:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

Репутация: нет
Всего: 16



Юзверь пишет какой-то текст, выбираеть какой-то шрифт, а мне нужно ровно разместить его на картинке. Размеры картинки я знаю, а вот как определить размеры получающегося текста? smile


--------------------
PM MAIL WWW Skype   Вверх
Akina
Дата 8.8.2005, 14:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 5
Всего: 454



Берем API-шную TextWidth, сообщаем ей строку и параметры шрифта, а она в ответ - его ширину... отцентрировать уж как-нить сам...

Код

textWidth = CInt(Me.CreateGraphics().MeasureString(Text, Font).Width)




--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Akina
Дата 8.8.2005, 14:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 5
Всего: 454



Тьфу, черт, это же PHP! ... ну посмотри swftext->getwidth() и swffont->getwidth()


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Irokez
Дата 8.8.2005, 14:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


индеец
***


Профиль
Группа: Участник Клуба
Сообщений: 1180
Регистрация: 20.10.2004

Репутация: 22
Всего: 53



какая библиотека то?
если GD, то: ImageTTFBox()
PM   Вверх
Mal Hack
Дата 8.8.2005, 14:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Akina 5 баллов smile)

Цитата(Akina @ 8.8.2005, 15:27)
swftext->getwidth() и swffont->getwidth()

Это для ShokWare вроде как...

Я думаю тут просто надо воспользоваться: http://php.rinet.ru/manual/en/function.imagefontwidth.php, т.к. доступа к канве в ПХП - нет.
А лучше http://php.rinet.ru/manual/en/function.imageftbbox.php (смотри в комменты).

Добавлено @ 14:47
Эх, Ирокез опередил smile
PM ICQ   Вверх
S.A.P.
Дата 8.8.2005, 15:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2664
Регистрация: 11.6.2004

Репутация: 3
Всего: 71



Так если ему надо уместить шрифт в рамки, знать размер текста не достаточно.

Могу ошибаться, но можно попробовать нарисовать текст на прозрачном фоне, сжать его и перетащить на картинку c помощью imageCopyResized().
PM MAIL   Вверх
Irokez
Дата 8.8.2005, 15:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


индеец
***


Профиль
Группа: Участник Клуба
Сообщений: 1180
Регистрация: 20.10.2004

Репутация: 22
Всего: 53



Цитата(Perchilla @ 8.8.2005, 15:00)
Так если ему надо уместить шрифт в рамки, знать размер текста не достаточно.

Могу ошибаться, но можно попробовать нарисовать текст на прозрачном фоне, сжать его и перетащить на картинку c помощью imageCopyResized().

изврат smile ImageTTFBox как раз таки эту рамку и покажет
PM   Вверх
S.A.P.
Дата 8.8.2005, 15:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2664
Регистрация: 11.6.2004

Репутация: 3
Всего: 71



Цитата(Irokez @ 8.8.2005, 15:13)
изврат smile ImageTTFBox как раз таки эту рамку и покажет
не понял меня smile .

Цитата(Elfet @ 8.8.2005, 14:01)
Юзверь пишет какой-то текст, выбираеть какой-то шрифт, а мне нужно ровно разместить его на картинке
размеры текста узнали, дальше что? smile .

PM MAIL   Вверх
Irokez
Дата 8.8.2005, 16:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


индеец
***


Профиль
Группа: Участник Клуба
Сообщений: 1180
Регистрация: 20.10.2004

Репутация: 22
Всего: 53



Цитата(Perchilla @ 8.8.2005, 15:19)
не понял меня smile .

неа smile
PM   Вверх
Mal Hack
Дата 8.8.2005, 17:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Perchilla у обоих функций есть параметр size - разсер шрифта. Мы выясняем сколько занимает текст в дефолтном варианте. Затем находим разницу по координатам и делаем соответствующее уменьшение размера шрифта уже когда пишем текст на нужной картинки черех http://php.rinet.ru/manual/en/function.imagefttext.php
поэтому смысла использовать CopyResampled нету.
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1137 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.