AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Speicher reservieren

Ein Thema von Moony · begonnen am 20. Jul 2004 · letzter Beitrag vom 20. Jul 2004
Antwort Antwort
Moony

Registriert seit: 29. Jul 2003
Ort: Essen
454 Beiträge
 
Delphi 2010 Professional
 
#1

Speicher reservieren

  Alt 20. Jul 2004, 10:23
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......

gruß, Moony
Ich weiß, daß ich nichts weiß! Sokrates
  Mit Zitat antworten Zitat
Benutzerbild von ibp
ibp

Registriert seit: 31. Mär 2004
Ort: Frankfurt am Main
1.511 Beiträge
 
Delphi 7 Architect
 
#2

Re: Speicher reservieren

  Alt 20. Jul 2004, 11:07
...schau doch mal, wie bei deinem system der speicher verwaltet wird...
  Mit Zitat antworten Zitat
Moony

Registriert seit: 29. Jul 2003
Ort: Essen
454 Beiträge
 
Delphi 2010 Professional
 
#3

Re: Speicher reservieren

  Alt 20. Jul 2004, 11:24
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
Ich weiß, daß ich nichts weiß! Sokrates
  Mit Zitat antworten Zitat
OregonGhost

Registriert seit: 8. Jun 2002
Ort: Lübeck
1.216 Beiträge
 
Delphi 3 Professional
 
#4

Re: Speicher reservieren

  Alt 20. Jul 2004, 11:29
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)
Oregon Ghost
---
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.
  Mit Zitat antworten Zitat
roderich
(Gast)

n/a Beiträge
 
#5

Re: Speicher reservieren

  Alt 20. Jul 2004, 11:48
versuch mal Folgendes (hat mir sehr geholfen bei Bitmaps im Speicher):

Delphi-Quellcode:
  aBitmap := TBitmap.Create;
  aBitmap.PixelFormat := pf24bit; // das ist der Trick, default ist pfDevice
  aBitmap.Width := 1024; // oder so
  aBitmap.Height := 2048; // oder so
PixelFormat=pfDevice kostet anscheinend sehr viel Speicher bei Bitmaps

Gruß
Roderich
  Mit Zitat antworten Zitat
Moony

Registriert seit: 29. Jul 2003
Ort: Essen
454 Beiträge
 
Delphi 2010 Professional
 
#6

Re: Speicher reservieren

  Alt 20. Jul 2004, 11:58
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
Ich weiß, daß ich nichts weiß! Sokrates
  Mit Zitat antworten Zitat
OregonGhost

Registriert seit: 8. Jun 2002
Ort: Lübeck
1.216 Beiträge
 
Delphi 3 Professional
 
#7

Re: Speicher reservieren

  Alt 20. Jul 2004, 12:11
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?
Oregon Ghost
---
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.
  Mit Zitat antworten Zitat
Moony

Registriert seit: 29. Jul 2003
Ort: Essen
454 Beiträge
 
Delphi 2010 Professional
 
#8

Re: Speicher reservieren

  Alt 20. Jul 2004, 12:23
Hat sich gerade alles erledigt. Habe das Posting von roderich verwendet....

Delphi-Quellcode:

  aBitmap.PixelFormat := pf24bit;
...und hat sofort gefunzt! Vielen Dank an alle und die Vorschläge.

gruß Moony
Ich weiß, daß ich nichts weiß! Sokrates
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:45 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz