Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как перевести pt в пикселы 
:(
    Опции темы
Delphist
  Дата 17.11.2005, 17:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphist Эксперт
****


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

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



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


--------------------
ProcessInfo 1-ая моя программа (аналог spyxx.exe с гораздо большим функц-ом - внедрение dll в адр. простр. процесса, перехват API-функций, разбор приложения на окна мн.др).
Когда-то давным-давно использовал это...
PM MAIL ICQ   Вверх
Delphist
Дата 17.11.2005, 17:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphist Эксперт
****


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

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



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

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


--------------------
ProcessInfo 1-ая моя программа (аналог spyxx.exe с гораздо большим функц-ом - внедрение dll в адр. простр. процесса, перехват API-функций, разбор приложения на окна мн.др).
Когда-то давным-давно использовал это...
PM MAIL ICQ   Вверх
darkart
Дата 17.11.2005, 21:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



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

Это сообщение отредактировал(а) darkart - 17.11.2005, 21:07
PM MAIL WWW ICQ Skype GTalk   Вверх
Albinos_x
Дата 18.11.2005, 10:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: 26
Всего: 108



Цитата(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 точек на дюйм.


--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
Delphist
  Дата 22.11.2005, 16:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphist Эксперт
****


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

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



Цитата(Albinos_x @ 18.11.2005, 10:49)
Обычно, 96 точек на дюйм.

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


--------------------
ProcessInfo 1-ая моя программа (аналог spyxx.exe с гораздо большим функц-ом - внедрение dll в адр. простр. процесса, перехват API-функций, разбор приложения на окна мн.др).
Когда-то давным-давно использовал это...
PM MAIL ICQ   Вверх
Snowy
Дата 22.11.2005, 16:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: 192
Всего: 484



Screen.PixelsPerInch
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

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


 




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


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

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