[C++, MFC, WinAPI] Device Context, zum Anzeigen und Drucken

Daniel Toplak

Erfahrenes Mitglied
Wie muss ich auf einen DeviceContext Zeichnen, wenn ich die selben Funktionen später auch zum Druck verwenden will?
Sprich die ganze "Malerei" soll relativ ablaufen und nicht mit absoluten Pixelkoordinaten.
Was ich möchte ist das über Massangaben zu lösen (geht das?).
Ich muss ein Raster Malen das mit bestimmten Buchstabenkombinationen ausgefüllt werden soll (so ähnlich wie ein Kariertes Papier in einem Matheheft).
So jetzt sollen die Kästchen natürlich einen festen Abstand haben (z.B. 3 mm) und zwar auf dem Bildschirm und auf dem Papier (wobei auf dem Bildschirm muss das nicht 100% genau sein, nur auf dem Ausdruck.
Ich erstell im Moment mehrere Device Context im Speicher und "mal" da drauf, anschließend "blit" ich das ganze auf den Bildschirm.
Gemalt wird vieles mit SetPixel(), wobei mit die ganzen Pixelangaben nicht gefallen.
Wer hat da eine/mehrere Idee(n) wie man sowas lösen kann?

Danke

Gruß Homer
 
Ja, das mit dem Rechnen in Pixeln ist nicht gut. Hast du dir schon CDC::HIMETRICtoDP() usw. angesehen zur Konvertierung von logischen und Gerätekoordinaten? Ich muss aber zugeben, dass ich selbst vom Drucken nicht viel Ahnung habe, deshalb weiss ich nicht, ob es dir weiterhift.
 
Danke, was ich dabei aber oft nicht ganz verstehe, was sind logische Koordinaten (pixel, mm, oder inch?) und was sind dann Gerätekoordinaten?
Kann es sein, daß mir dabei CDC::SetMapMode() weiterhelfen kann?
Wie zeichne ich dann ein Linie mit SetPixel(), die genau 100 mm Lang ist z.B. ?
Ok man malt keine Linien mit SetPixel(), aber das war ja nur ein Beispiel.
Hab leider im Moment keine Zeit daran weiter zu machen, an dem Projekt, aber ich werde da mal rumprobieren.

Gruß Homer
 

Neue Beiträge

Zurück