BitBlt: Speichergrenze ?
Verfasst: 22.05.2009 19:12
Hallo,
ich benutze zum Drucken Images und API-Funktionen, klappt bei 300DPI auch prima.
Nun muss ich auch mit 600DPI drucken und bekomme ´n Speicherfehler
bei BitBlt (Imagespeicher-->Druckerspeicher).
Gibt´s bei BitBlt ´ne Speichergrenze ?
Oder kennt jemand das Syntom (gleiche Konfiguration, gleicher Drucker:
mit 300DPI {2338 x 3407 Pixel} klappt´s
mit 600DPI {4676 x 6814 Pixel} gibt´s IMA...
) ?
Sicherheitshalber den Code:
Danke
SiBru
ich benutze zum Drucken Images und API-Funktionen, klappt bei 300DPI auch prima.
Nun muss ich auch mit 600DPI drucken und bekomme ´n Speicherfehler
bei BitBlt (Imagespeicher-->Druckerspeicher).
Gibt´s bei BitBlt ´ne Speichergrenze ?
Oder kennt jemand das Syntom (gleiche Konfiguration, gleicher Drucker:
mit 300DPI {2338 x 3407 Pixel} klappt´s
mit 600DPI {4676 x 6814 Pixel} gibt´s IMA...
Sicherheitshalber den Code:
Code: Alles auswählen
Procedure Prt_PagePrint() ;- Buffer-Bild auf Drucker übertragen, Seite abschließen
If SetBkMode_(Prt_DC, #OPAQUE)
Protected Result= BitBlt_(Prt_DC, 0, 0, Prt_Breit, Prt_Tief, Prt_Hdl, 0, 0, #SRCCOPY )
Debug "Prt_dc="+Str(Prt_DC)+", "+Str(Prt_Breit)+" x "+Str(Prt_Tief)+" Prt_Hdl="+Str(Prt_Hdl)+" --> BitBlt="+Str(Result)
If Result<>0
If EndPage_(Prt_DC)>0 ;Seite abschliessen
Prt_ImageReset() ;Bild löschen (für nächset Seite...)
Else : MessageRequester("Drucker-Fehler","EndPage"+Str(10)+FehlerText())
EndIf
Else : FormatMessage(GetLastError_())
; Else : MessageRequester("Drucker-Fehler "+"BitBlt"+Str(10)+FehlerText())
EndIf
Else : MessageRequester("Drucker-Fehler","SetBkMode"+Str(10)+FehlerText())
EndIf
EndProcedure
SiBru