![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Font resolution и TextOut
d_oleg © (2002-09-09 13:39:00)Господа, подскажите, чем руководствуется винда, когда выполняет рендеринг текста на канвас (имеется ввиду разрешение)? Подробнее: когда делаешь TextOut на Canvas принтера, размер 10-го шрифта в пикселях один, когда TextOut на canvas обычного BitMap-а - размер в пикселях другой. Можно ли задать разрешение для TBitMap? Или в чём другом тут дело?
d_oleg (2002-09-09 16:32:00) [1]ну в-общем можно сделать так:
With BitMap.Canvas.Font do
PixelsPerInch := GetDeviceCaps(Printer.Handle, LOGPIXELSY);
Size := Printer.Canvas.Font.Size;
И получится именно с разрешением, установленном в принтере
d_oleg (2002-09-09 16:30:00) [2]а качество печати?
Игорь Шевченко (2002-09-09 16:18:00) [3]Не проще ли сделать Stretсh при выводе на принтер ?
d_oleg (2002-09-09 15:27:00) [4]а как "совместить" его с другим объектом?
Игорь Шевченко (2002-09-09 15:23:00) [5]Canvas Bitmap"a всегда совместим со Screen DC
d_oleg (2002-09-09 14:09:00) [6]Я так понимаю, canvas должен брать инф. о разрешении из объекта, с которым ассоциирован canvas
d_oleg (2002-09-09 13:51:00) [7]Немного не то. Мне нужно произвести TextOut на TBitMap так, как если бы это был принтер, то есть с заданным разрешением.
Игорь Шевченко (2002-09-09 13:46:00) [8]Windows (GDI) руководствуется количеством логичеких пикселей на дюйм для текущего устройства. GetDeviceCaps(Canvas.Handle, LOGPIXELSX), GetDeviceCaps(Canvas.Handle, LOGPIXELSY), если не ошибаюсь
Вместо разрешения для Bitmap можно использовать функцию SctrechBlt для вывода в требуемом размере, к примеру.