Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Печать TMetafile на черно-белом принтере [D6, Win95/98, WinXP]


Nikolai_S ©   (2002-09-23 12:31:00) 

При печати изображения из TMetaFile на черно-белом принтере цветной текст печатается белым цветом и если у текста нет фона, то его совсем не видно на бумаге. Печатаю так:
.........
Printer.Canvas.StretchDraw(Rect, MetaFile);
.........
Причем если печатаю данный метафайл из программы ACDSee - то эффект тот же самый. Как заставить текст метафайла печататься оттенками серого цвета?


MBo   (2002-09-23 13:19:00) [1]

Целочисленная формула в другой твоей ветке


BOA_KAA   (2002-09-23 13:07:00) [2]

Коэффициенты перехода от RGB к оттенкам серого такие

var
Gray: Byte;
...
Gray := Round((0.30 * GetRValue(RGBColor)) + (0.59 * GetGValue(RGBColor)) + (0.11 * GetBValue(RGBColor )));
Result := RGB(Gray, Gray, Gray);


Nikolai_S   (2002-09-23 12:48:00) [3]

Ну так как этот метафайл я в программе сам создаю и рисую, то может создавать временный метафайл и рисовать на нем оттенками серого, а потом выводить на печать? Только как преобразовать заданный цвет в оттенок серого?


MBo   (2002-09-23 12:44:00) [4]

Если нет возможности настроить принтер, чтобы он печатал цветное, придется править метафайл - в структурах EMR_SETTEXTCOLOR менять цвет


Наверх

Титульная страница Поиск, карта сайта Написать письмо