Рассчитать ширину строки в пикселях

Тема в разделе "Как сделать...", создана пользователем -=BlackSmoke=-, 3 мар 2010.

Статус темы:
Закрыта.
  1. -=BlackSmoke=-

    -=BlackSmoke=-

    Регистр.:
    4 авг 2009
    Сообщения:
    281
    Симпатии:
    49
    Собственно, сажб. Есть набор разных по ширине букв и символов, строка. Шрифт известен, задан. Нужно получить ширину этой строки в пикселях. Умножить кол-во символов на примерную ширину каждого не получится - символы по ширине довольно сильно различаются. Есть ли готовые классы, например, с значениями ширины для разных шрифтов? В общем, нужно решение. Спасибо за внимание:)
     
  2. venetu

    venetu

    Регистр.:
    28 мар 2007
    Сообщения:
    735
    Симпатии:
    261
    для PHP есть php.net/imagettfbbox

    Еще как вариант можно отправлять текст в бровзер реальному юзеру и там яваскриптом смотреть, сколько получилось. Что-то типа такого:
    PHP:
    // Get a style property (name) of a specific element (elem)
    function getStyleelemname ) {
      if (
    elem.style[name]) return elem.style[name];
      else if (
    elem.currentStyle) return elem.currentStyle[name];
      else if (
    document.defaultView && document.defaultView.getComputedStyle) {
        
    name name.replace(/([A-Z])/g,"-$1");
        
    name name.toLowerCase();
        var 
    document.defaultView.getComputedStyle(elem,"");
        return 
    && s.getPropertyValue(name);
      } else return 
    null;
    }
    function 
    getWidth(elem) {
       return 
    elem.offsetWidth || parseInt(getStyle(elem'width'));
    }
     
    -=BlackSmoke=- нравится это.
Статус темы:
Закрыта.