BitBlt: Speichergrenze ?

Windowsspezifisches Forum , API ,..
Beiträge, die plattformübergreifend sind, gehören ins 'Allgemein'-Forum.
sibru
Beiträge: 265
Registriert: 15.09.2004 18:11
Wohnort: hamburg

BitBlt: Speichergrenze ?

Beitrag von sibru »

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...:shock: ) ?


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
Danke

SiBru
Bild Bild
Benutzeravatar
Thorium
Beiträge: 1722
Registriert: 12.06.2005 11:15
Wohnort: Germany
Kontaktdaten:

Beitrag von Thorium »

Hm das Bild braucht ja 729MB, wenn ich richtig gerechnet hab. Vieleicht ist das einfach zu viel. Vieleicht versuchen das Bild in Abschnitten zu drucken, also nicht alles auf einmal.
Zu mir kommen behinderte Delphine um mit mir zu schwimmen.

Wir fordern mehr Aufmerksamkeit für umfallende Reissäcke! Bild
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

> wenn ich richtig gerechnet hab

nope. ich komm auf knapp 92MB.


... aber vielleicht ist der druckerspeicher doch noch kleiner?

wenn man das direkt mappen will, muss der doch alles auf einmal fassen können, oder?
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
Thorium
Beiträge: 1722
Registriert: 12.06.2005 11:15
Wohnort: Germany
Kontaktdaten:

Beitrag von Thorium »

Kaeru Gaman hat geschrieben:> wenn ich richtig gerechnet hab

nope. ich komm auf knapp 92MB.
Oh, ja. Ich hab mal Bit und nicht mal Byte gerechnet pro Pixel, fataler Fehler.
Zu mir kommen behinderte Delphine um mit mir zu schwimmen.

Wir fordern mehr Aufmerksamkeit für umfallende Reissäcke! Bild
Antworten