![]() |
|
|
![]()
|
|
| Nia |
|
||||||
![]() Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 14.2.2011 Репутация: нет Всего: нет |
Есть какая ни будь функция для перевода миллиметров в пиксели?
Кто знает - разъясните вот этот фрагмент:
так как не совсем понимаю что он делает, для печати достаточно всего:
(Пытаюсь вывести на печать текст чтобы был в строго определённых местах листа) (C++Builder 2007) Это сообщение отредактировал(а) Nia - 10.4.2011, 18:11 |
||||||
|
|||||||
| Usper |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 325 Регистрация: 13.4.2007 Репутация: 15 Всего: 15 |
Возвращает высоту текста, передаваемого в качестве параметра, в пикселях (с учётом типа и размера шрифта). Обычно используется как раз для позиционирования надписи на канве. Например так можно центрировать надпись на листе: координата Y текста = высота листа/2 - высота надписи/2. Количество пикселей в миллиметре я получаю так:
При этом разрешение по оси Y может отличаться от разрешения по оси X поэтому надо вычислять и PixPerMMY. Это сообщение отредактировал(а) Usper - 11.4.2011, 08:13 -------------------- На посохе волшебном нехилый набалдашник, большой такой, огромный, нехилый набалдашник. |
||||
|
|||||
| ZVano |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 259 Регистрация: 11.12.2006 Где: Украина, Кривой Р ог Репутация: 1 Всего: 4 |
Ширину текста я вычислял так:
-------------------- НЕ ФЛУДИМ. Пользуемся кнопками "+" или "-" для выражения своего отношения к теме или сообщению. Гуглим "Как правильно задавать вопросы" |
|||
|
||||
| Nia |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 14.2.2011 Репутация: нет Всего: нет |
Перевожу ММ в пиксели для позиционирования печати по оси oy
То что получается на выходе не соответствует полученным значениям, хотя по оси ox всё получается нормально - как можно решить эту проблему? ------------------------------------------------- Написал часть кода - всё работает - печатается там где нужно, на следующий день включил компьютер -> запустил программу -> распечатал - везде сдвиг по оси oy (где то вверх где то вниз ) - почему это происходит? как это исправить? |
|||
|
||||
| Usper |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 325 Регистрация: 13.4.2007 Репутация: 15 Всего: 15 |
Сильный сдвиг? Может принтер бумагу так хватает?
Ну и код покажите. Это сообщение отредактировал(а) Usper - 18.4.2011, 07:40 -------------------- На посохе волшебном нехилый набалдашник, большой такой, огромный, нехилый набалдашник. |
|||
|
||||
| Nia |
|
||||||||
![]() Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 14.2.2011 Репутация: нет Всего: нет |
Слвиг в диапазоне от 2 см до 5 милиметров - 5 раз лист прогонял, результат один
Хотелось бы так же услышать коментарии (Ваше мнение) по коду, только не заумно
и вот ещё странность значение по оси oy в левой стороне листа по середине листа и справа - разные, то есть при значении
(если меняю координаты оси ox а координаты oy оставляю прежними - вывести текст одной ровной линией не получается, - получается что то на подобии лесенки - что меня не устраивает) |
||||||||
|
|||||||||
| Nia |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 14.2.2011 Репутация: нет Всего: нет |
Если кто знает подскажите Литературу которую можно почитать по данной теме (про вывод на печать таким способом, в Архангельском ничего не нашёл)
|
|||
|
||||
| xvr |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 48 Всего: 223 |
Вот это:
Вам нужно найти максимум от Printer()->Canvas->TextHeight среди всех строк и этот максимум взять в качестве межстрочного интервала |
|||
|
||||
![]()
|
| Правила форума "С++ Builder" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C++ Builder | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |