Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Как перевести pt в пикселы


Автор: Delphist 17.11.2005, 17:19
Существует такой тип TLogFont для вывода текста под углом. Я им пользуюсь для вывода текста под 90 градусов(
Код
Tlogfont.lfEscapement=900
) в заданной области(ширина и высота). Свойство
Код
Tlogfont.lfheight
я использую для расчета высоты букв чтобы текст выглядил красивым образом в заданной области. Проблема в том, что когда в расчетах получется Tlogfont.lfheight = 8 то текст отказывается выводится под 90 градусов, при росте Tlogfont.lfheight до 11 текст начинает нармально выводится под 90 градусов. Может быть проблема с pt. т.е. я получаю не 8 пикселей, а 8 pt или наоборот (вообще в чем между ними разница).
Хотелось бы узнать в свойстве
Код
TLogFont.lfheight
здесь высота задается в пикселах или pt.

Автор: Delphist 17.11.2005, 17:40
Цитата(Snowy @ 17.11.2005, 17:33)
pt это точки.
Для экрана нет разницы между точками и пикселями, если только ты не масштабируешь.

Т.е. 8pt=8 пикселей

Автор: darkart 17.11.2005, 21:06
Вроде бы в lfheight в LOGFONT размер указывается в пикселях, а размер шрифта обычно в пунктах, а они вроде бы не равны(пункт - условная величина)
К Примеру...
Узнаем ширину стоки strSample в пикселях:
//////////////////////////////////////////////
ShowMessage(IntToStr(Canvas.TextWidth(strSample)));
//////////////////////////////////////////////

Автор: Albinos_x 18.11.2005, 10:49
Цитата(Delphist @ 17.11.2005, 17:40)
Т.е. 8pt=8 пикселей

не совсем:
Пиксель (px) - это минимальная единица измерения изображения на экране монитора. Она зависит от разрешения экрана, например, 800 на 600 пикселей, 1020 на 768 пикселей.

Пункт (pt) - это типографская единица измерения шрифта, существовашая задолго до появления компьютеров. Точный размер пункта (0,0138 дюйма) был определен в 1883 году. 0,0138 дюйма - это примерно 1/72 дюйма.
В компьютерных системах пункт также является единицей измерения шрифтов. Размеры шрифтов, указываемые в таких программах, как word, указываются именно в пунктах. Компания Adobe точно приравняла соотношение: 1 пункт = 1/72 дюйма - это уже PostScript-пункт.

Таким образом, одно пересчитывается в другое. Например, 12 пунктов, обычно равно 16 пикселям. Обычно, потому что имеет значение масштаб экранного разрешения, указанный в свойствах системы. Обычно, 96 точек на дюйм.

Автор: Delphist 22.11.2005, 16:20
Цитата(Albinos_x @ 18.11.2005, 10:49)
Обычно, 96 точек на дюйм.

Какими средствами можно узнать сколько точек на дюйм стоит в системе. (96, 120 или другое...)

Автор: Snowy 22.11.2005, 16:29
Screen.PixelsPerInch

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)