Scheinbar kennen Drucker nur Monochrome oder Farbe, zumindest steht in
DeviceCapabilities nicht mehr als
Zitat:
dmColor
Switches between color and monochrome on color printers. Following are the possible values:
DMCOLOR_COLOR
DMCOLOR_MONOCHROME
Und egal was ich dem Drucker einstelle, es zeigt immer 24 Bit an.
Delphi-Quellcode:
var cd:String;
th:Integer;
begin
If not PrintDialog1.Execute then
Exit;
Printer.BeginDoc;
Case GetDeviceCaps(Printer.Canvas.Handle, BITSPIXEL) of
1: cd:='Monochrome';
4: cd:='16 Farben';
8: cd:='256 Farben';
16: cd:='16 Bit High Color';
24: cd:='24 Bit True Color';
32: cd:='32 Bit RGBA Color';
else cd:='Öhm?';
end;
Printer.Canvas.Font.Color:=0;
th:=Printer.Canvas.TextHeight('Bla bla bla');
Printer.Canvas.TextOut(0, 0, 'Das ist nur ein Test');
Printer.Canvas.TextOut(0, th, Format('Auflösung: %d x %d', [Printer.PageWidth, Printer.PageHeight]));
Printer.Canvas.TextOut(0, th * 2, 'Farbtiefe: '+cd);
Printer.EndDoc;
Was die DPI angeht, das kannst Du per TPrintDialog bzw. TPrintSetupDialog einstellen und ist bei jedem Drucker anders.
Konnte man bei meinm alter Drucker 180, 360 & 720 DPI einstellen heißt es beim neuem dann; Entwurf, Normal, Foto & Optimales Foto.
Wobei es sich dann auch um 180, 360, 720 & 1440 DPI dreht und es mich bei 180 DPI nervt, weil er da immer in den Sparmodus schaltet und kaum sichtbar druckt