Обычно нет необходимости переводить принтер в режим цветной печати, если он установлен в этот режим. Windows автоматически переведет цветную печать в черно-белую, если принтер не поддерживает цветной печати. Если Вам необходимо программно изменить режим цвета, Вы можете обратится к структуре DevMode драйвера принтера.
uses Printers;
procedure TForm1.Button1Click(Sender: TObject);
var
Device: array [0..255] of char;
Driver: array [0..255] of char;
Port: array [0..255] of char;
hDMode: THandle;
PDMode: PDEVMODE;
beginwith Printer dobegin
PrinterIndex := PrinterIndex;
GetPrinter(Device, Driver, Port, hDMode);
if hDMode <> 0 thenbegin
pDMode := GlobalLock(hDMode);
if pDMode <> nilthenbegin
pDMode.dmFields := pDMode.dmFields or dm_Color;
pDMode.dmColor := DMCOLOR_COLOR;
GlobalUnlock(hDMode);
end;
end;
PrinterIndex := PrinterIndex;
BeginDoc;
Canvas.Font.Color := clRed;
Canvas.TextOut(100,100, 'Delphi World is COOL :)');
EndDoc;
end;
end;
Статья рассказывает о способах печати в цвете на компьютере, включая автоматическое преобразование черно-белой печати в цветную и программное изменение режима цвета с помощью драйвера принтера.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS