Ширина фрейма в символах
Спрошу по другому: как, с помощью скрипта, задать ширину фрейма (или ячейки таблицы), чтобы в одну строку влазило ~50 символов.
Нужно, чтобы было выравнивание по краям.
Задавал тут вопрос как узнать ширину символа в пикселях... судя по всему никак нельзя.
Спрошу по другому: как, с помощью скрипта, задать ширину фрейма (или ячейки таблицы), чтобы в одну строку влазило ~50 символов.
Нужно, чтобы было выравнивание по краям.
Ответь сначала на вопрос - а если я в браузере размер шрифта поменяю? Вообщем во-первых этого нельзя сделать, а во-вторых этого не нужно делать т.к. я на 95% уверен, что то, что ты хочешь сделать - можно сделать стандартными средствами, просто ты не знаешь как именно, вот и изобретаешь велосипед. Лучше опиши свою задачу.
Ответь сначала на вопрос - а если я в браузере размер шрифта поменяю? Вообщем во-первых этого нельзя сделать, а во-вторых этого не нужно делать т.к. я на 95% уверен, что то, что ты хочешь сделать - можно сделать стандартными средствами, просто ты не знаешь как именно, вот и изобретаешь велосипед. Лучше опиши свою задачу.
Задача такая: есть текст и есть картинка. Цвет каждого символа в тексте равен цвету соответствующего пикселя картинки. Текст должен быть выровнян но краям. Для минимизации искажения картинки, количество символов в каждой строке должно быть как можно ближе числу пикселей по горизонтали картинки.
Я придумал такое решение: берем среднюю ширину символа выбранного шрифта (можно использовать фиксированный шрифт) и умножаем ее на ширину картинки. Получаем необходимую ширину фрейма. Проблема в том, что, похоже узнать ширину символа на JavaScript нельзя.
Можно сделать наоборот: узнать, сколько символов входит в одну строку данного фрейма и исходя из этой инфы генерировать картинку
А насчет смены шрифта в браузере: существует малая вероятность того, что пользователь изменит размер шрифта именно на моей странице. Кроме того, я надеялся, что это можно как-нибудь отследить...
Задача такая: есть текст и есть картинка. Цвет каждого символа в тексте равен цвету соответствующего пикселя картинки. Текст должен быть выровнян но краям. Для минимизации искажения картинки, количество символов в каждой строке должно быть как можно ближе числу пикселей по горизонтали картинки.
Я придумал такое решение: берем среднюю ширину символа выбранного шрифта (можно использовать фиксированный шрифт) и умножаем ее на ширину картинки. Получаем необходимую ширину фрейма. Проблема в том, что, похоже узнать ширину символа на JavaScript нельзя.
Можно сделать наоборот: узнать, сколько символов входит в одну строку данного фрейма и исходя из этой инфы генерировать картинку
А насчет смены шрифта в браузере: существует малая вероятность того, что пользователь изменит размер шрифта именно на моей странице. Кроме того, я надеялся, что это можно как-нибудь отследить...
Отследить Zoom страницы нельзя. А для твоей задачи наилучшим решением будет не запариваться с HTML, а писать текст непосредственно на картинке (генерировать), благо пакетов и библиотек для это достаточно: GD, ImageMagick - это только из самого доступного.
Отследить Zoom страницы нельзя. А для твоей задачи наилучшим решением будет не запариваться с HTML, а писать текст непосредственно на картинке (генерировать), благо пакетов и библиотек для это достаточно: GD, ImageMagick - это только из самого доступного.
Что ты имеешь ввиду: "писать текст непосредственно на картинке (генерировать)"?
Текст пишется не на картинке, а на черном фоне, т.е. текст и есть картинка. Просто информация о цвете каждого символа берется из сгенерированной заранее картинки.
И что это за пакеты и библиотеки?
На сервере лежит только скрипт и текстовый файл, который надо отобразить. Генерация картинки и вывод текста осуществляется на клиентской машине. Да, сервер поддерживает только Client side script.
выглядит это примерно так: