![]() |
Модераторы: Aliance, skyboy, MoLeX, ksnk |
![]() ![]() ![]() |
|
mzalutski |
|
|||
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 22.12.2006 Где: Волгоград Репутация: нет Всего: нет |
Имеется задача определить ширину текстовой строки (в единицах длины).
Возможно ли как-то определять ширину символов средствами PHP? |
|||
|
||||
MoLeX |
|
|||
![]() Местный пингвин ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4076 Регистрация: 17.5.2007 Репутация: нет Всего: 140 |
не совсем понял -------------------- Amazing ![]() |
|||
|
||||
IAmEternaL |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 8.10.2007 Где: Киев, Украина Репутация: нет Всего: нет |
ага
но если строка в utf-8, то будет такая кака
патамушо strlen выводит кол-во байт в строке, а в utf-8 не англицкие символы весят 2 байта шоп було прально и тут - смотри эту тему если же ты имеешь в виду отображаемую длинну строки (в пикселях), то умножь кол-во на ширину одного символа шрифта, который ты используешь (рулит еси ты используешь моноширный шрифт - типа Lucida Console) если нет - можно приблизительно длинну узнать, множь на самый широкий сивол (w, к примеру) |
||||
|
|||||
mzalutski |
|
|||
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 22.12.2006 Где: Волгоград Репутация: нет Всего: нет |
Ребят спасибо, но нужна длина ИМЕННО в единицах длинны (пикселы, сантиметры, метры, дюймы, километры и т.д.
![]() IAmEternaL, приблизительно не пойдет, нужно точно причем шрифт немоноширинный. Какая-нибудь низкоуровневая функция... если таковая есть |
|||
|
||||
IAmEternaL |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 8.10.2007 Где: Киев, Украина Репутация: нет Всего: нет |
пачитал мануал - можна
смотри $fontSize - размер шрифта текста $fontFile - путь к TTF файлу со шрифтом (бери оные в "C:\WINDOWS\Fonts") $text - панятно $width - то шо те надо по идее потесть я просто не уверен - пиксели оно дает или шо... ну надо испробовать в реальных условиях а заниматься этим самостоятельно (то есть мне) - уволь, оно ж тебе надо ;) Это сообщение отредактировал(а) IAmEternaL - 16.10.2007, 14:33 |
|||
|
||||
mzalutski |
|
|||
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 22.12.2006 Где: Волгоград Репутация: нет Всего: нет |
Вообще, глупости это все - ширину букв находить. Всегда будешь зависить от конкретной платформы.
Переделал алгоритм. IAmEternaL, все равно спасибо |
|||
|
||||
IAmEternaL |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 8.10.2007 Где: Киев, Украина Репутация: нет Всего: нет |
как тебе сказать
![]() код, который я дал, ни от чего не зависит - были бы шрифты на сервере и у клиента на машине и работает он достаточно точно (главное учитывать, шо еси это применяеца для HTML, то дизигнеры могут указать размер не в pt, а px, потому и расчет непральный будет) |
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Тексты | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |