![]() |
Speicher reservieren
Hallo erst mal!
Habe hier schon alles was Speicher betrifft durchsucht und erfolglos geblieben. Ich möchte Bilder mit der Größe einer DIN A4 Seite im Speicher erstellen,jedoch macht mir der Speicher einen Strich unter die Rechnung. Bekomme jedesmal die Meldung: Nicht genügend virtueller Speicher. Im Quelltext wird ein normales Bild vom Typ TImage erstellt. Nachdem ich versuche die Bitmapgröße auf DIN A4 zu setzen, kommt die Meldung(s.o.). Kann man selbst für die Bitmap beliebig Speicher reservieren???Festplatte ist groß genug! Bin für jede Hilfe dankbar...... :wall: gruß, Moony |
Re: Speicher reservieren
...schau doch mal, wie bei deinem system der speicher verwaltet wird...
|
Re: Speicher reservieren
Thx fürs schnelle posting.
Habe meinen Speicher von Min 512 und Max 1024 auf Min 512 und Max 2048 gesetzt. Die Wählbarkeit von der automatischen Verwaltung habe ich nicht.Habe Win2000. Für weitere Vorschläge bin ich dankbar. gruß, moony :coder: |
Re: Speicher reservieren
Wenn ich mich recht erinnere, gab es für HBITMAPs eine willkürliche Beschränkung in der Größe (Abmessungen), da TImage auf HBITMAP basiert, dürften die Beschränkungen dieselben sein.
Warum möchtest du das machen? Vielleicht reicht es auch, wirklich einfach Speicher zu reservieren, und dann auf diesem Speicher (anstatt auf dem TImage-Objekt) zu arbeiten. Der Datentyp TRgbQuad ist hierfür gut geeignet, davon brauchst du dann ja nur ein zweidimensionales Array. Eine Alternative wäre, das Bild in mehrere Bilder aufzuteilen. Wenn es dir darum geht, das Bild zu drucken, kannst du das auch direkt beim Drucker erstellen. Übrigens ist die Größe des virtuellen Speichers nicht nur durch deine Festplatte begrenzt. Was meinst du, warum es 64-Bit-Versionen von Windows gibt ;c) |
Re: Speicher reservieren
versuch mal Folgendes (hat mir sehr geholfen bei Bitmaps im Speicher):
Delphi-Quellcode:
PixelFormat=pfDevice kostet anscheinend sehr viel Speicher bei Bitmaps
aBitmap := TBitmap.Create;
aBitmap.PixelFormat := pf24bit; // das ist der Trick, default ist pfDevice aBitmap.Width := 1024; // oder so aBitmap.Height := 2048; // oder so Gruß Roderich |
Re: Speicher reservieren
Bei mir handelt es sich um ein Layoutprogramm, wo ich ein Layout mit dem DIN A4 Format habe. JEtzt passiert folgendes: Ich möchte von meinem Layout eine Vorschau erstellen. Im Source wird zunächst eine Bitmap in DIN A4 Format erstellt und dann auf eine angegebene Previewsize verkleinert und abgespeichert. Beim Drucken habe ich das Problem nicht, weil wie du gesagt hast wird alles auf der Printercanvas erstellt. Ich arbeite nur mit dem TImage-Objekt, komme ohne nicht drumherum sont muß ich alles umändern.....kostet unmengen aufwand und Zeit!!!!Ist eine ältere Version von mir und kostet viel Zeit sich im Code wiederzufinden!
gruß, moony :gruebel: |
Re: Speicher reservieren
Warum zeichnest du das ganze dann nicht direkt in deiner Preview-Größe?
Übrigens sagt DIN-A4 nicht viel über eine Bitmapgröße aus. Über welche Auflösung reden wir hier eigentlich? |
Re: Speicher reservieren
Hat sich gerade alles erledigt. Habe das Posting von roderich verwendet....
Delphi-Quellcode:
...und hat sofort gefunzt! Vielen Dank an alle und die Vorschläge. :thuimb: aBitmap.PixelFormat := pf24bit; gruß Moony :dancer: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:05 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz