Entwickler-Ecke
Multimedia / Grafik - Quadrat in cm ausdrucken
Delete - Di 26.02.19 06:39
Titel: Quadrat in cm ausdrucken
- Nachträglich durch die Entwickler-Ecke gelöscht -
Ralf Jansen - Di 26.02.19 11:42
600 DPI sollte einfach die Auflösung eines bestimmten Druckers sein. Die solltest du über GetDeviceCaps bekommen können, möglicherweise rückt die VCL das auch irgendwo direkt raus.
Delete - Di 26.02.19 13:46
- Nachträglich durch die Entwickler-Ecke gelöscht -
Delete - Di 26.02.19 17:52
- Nachträglich durch die Entwickler-Ecke gelöscht -
Delete - Do 28.02.19 04:28
- Nachträglich durch die Entwickler-Ecke gelöscht -
Holgerx - Do 28.02.19 12:01
Hmm..
Habe mal deinen Source nach dem Muster von den Schweitzern umgestellt:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32:
| var r: TRect; s: WideString; begin Printer.PrinterIndex := Printer.Printers.IndexOf('Microsoft XPS Document Writer'); Printer.Canvas.Font.Name := 'MS Mincho'; Printer.Canvas.Font.Size := 12; Printer.Canvas.Brush.Style := bsClear;
Printer.BeginDoc; SetMapMode(Printer.Handle, MM_LOMETRIC); Printer.Canvas.Pen.Color := clBlue; Printer.Canvas.MoveTo(250, -250); Printer.Canvas.LineTo(1850, -250); Printer.Canvas.Pen.Color := clSilver; Printer.Canvas.MoveTo(250, -300); Printer.Canvas.LineTo(1850, -300); Printer.Canvas.Pen.Color := clBlue; Printer.Canvas.MoveTo(250, -350); Printer.Canvas.LineTo(1850, -350); Printer.Canvas.Font.Color := clRed; s := #$3042; r := Rect(250, -250, 400, -400); DrawTextW(Printer.Canvas.Handle, PWideChar(s), Length(s), r, 0); Printer.EndDoc; |
Und siehe da, es scheint zu funktionieren...
Delete - Do 28.02.19 16:27
- Nachträglich durch die Entwickler-Ecke gelöscht -
Holgerx - Do 28.02.19 20:39
Hmm..
Frühlingsrolle hat folgendes geschrieben : |
In der Hilfe heißt es, positive Y-Werte wandern nach oben ("positive y is up"). Das führt etwas zur Verwirrung.
|
Und da ist denke ich das Problem:
Von Oben nach oben gehend ist raus aus dem Papier ;)
Eine Seite fängt immer oben links mit 0,0 an, wenn ich nun nach oben gehe, geht es aus der Seite heraus und es wird nichts auf das Blatt gedruckt.
Ist wirklich verwirrend, da es bei Pixel wohl von oben nach untern mit positiven Wert geht..
Wobei ja 'Y' eher von Rechts nach links lauten müsste..
Delete - Do 28.02.19 21:08
- Nachträglich durch die Entwickler-Ecke gelöscht -
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2024 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!