Announcement

Collapse
No announcement yet.

Druckauflösung (dpi)

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Druckauflösung (dpi)

    Hallo zusammen,
    ich möchte gerne eine Druckausgabe über TPrinter / Canvas tätigen. Hierbei soll aber
    ein Drucker auf eine bestimmte dpi-Auflösung
    zur Laufzeit eingestellt werden. Z.B. auf 200 dpi oder 600 dpi

    Meine Frage lautet:
    Gibt es dazu eine Möglichkeit ? (WIN-API Funktion ...), wenn ja, bitte ein kurzes Beispiel.
    Vielen Dank im voraus.

    Gruß Lars

  • #2
    WIN 32 Funktionen :

    SetViewportOrgEx <br>
    SetViewportExtEx <br>
    SetWindowOrgEx <br>
    SetWindowExtEx <br>
    SetMapMode <br>
    GetDeviceCaps <br>

    Du muss dir erst mal das Handle vom Drucker holen <br>

    // Einheit der AUflösung 1/10 mm
    // andere Einheiten siehe Funktionsreferenz
    SetMapMode(Printer.Canvas.Handle, MM_LOMETRIC);

    Du muss dir erst mal das Handle vom Drucker holen <br>

    //gibt die horizontale Auflösung zurück:
    dpih:=GetDeviceCaps(Printer.Handle, LOGPIXELSX);
    //Blattbreite in Pixeln:
    breite:=GetDeviceCaps(Printer.Handle, HORZRES);
    //linker Rand (nicht bedruckbar):
    lrand:=GetDeviceCaps(Printer.Handle, PHYSICALOFFSETX);
    .......

    Du solltest auf alle Fälle erst mal die Auflösung abfragen !! ( saubere Programmierung)
    Alles Klar auf der Andrea Dori

    Comment

    Working...
    X