AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Bei Bitmap Arbeitsspeicher zu gering ???
Thema durchsuchen
Ansicht
Themen-Optionen

Bei Bitmap Arbeitsspeicher zu gering ???

Ein Thema von matashen · begonnen am 31. Mai 2007 · letzter Beitrag vom 1. Jun 2007
Antwort Antwort
Seite 1 von 2  1 2      
matashen

Registriert seit: 29. Jan 2007
Ort: daheim
460 Beiträge
 
Delphi XE2 Enterprise
 
#1

Bei Bitmap Arbeitsspeicher zu gering ???

  Alt 31. Mai 2007, 12:37
Hallo zusammen,

ich hab folgendes Problem:
Ich möchte größere Bitmaps über die Zwischenablage in meine Anwendung kopieren. Dazu erzeug ich wärend der Laufzeit vier Bitmaps und kopiere das Bild aus der Zwischenablage

Delphi-Quellcode:
if (i=j) then begin;
   frag_bilder[i]:=TBitmap.create;
   frag_bilder[i].pixelformat:=pf24bit;
   end;
//Bild aus Clipboard in Bild1,2,3,4 einfügen
if Clipboard.HasFormat(CF_BITMAP) then
  begin
Bei kleineren Bildern kein Problem,
aber sobald ich relativ große Bitmaps um die 16 bsi 30MB habe bekomm ich die Fehlermeldung: "Für diesen Befehl reicht der Arbeitsspeicher nicht aus". Ich hab aber noch satte 200MB frei Laut Taskmanager.

Ich benötige das ganze für ein Zeichenprogramm, wo ich detailreiche Grafiken aus PDFs ausschneide um diese dann weiterzuverarbeiten. Leider kann ich die Bilder nicht direkt aus dem PDF auslesen, also muß ich diese über die Zwischenablage kopieren, und das in mehreren Teilen da die Zwischenablage ab einer bestimmten größe auch den Fehler. "Das gewählte Bild ist zu große für die Zwischenablage" meldet. Die Einzelbilder setz ich dann in meinem Programm wieder zu einem großen zusammen.

Ich hoffe jemand kann mir dabei helfen.


Gruß Matthias

PS: Ich verwende Delphi 4 - hängt das vieleicht damit zusammen ?
Matthias
Das Leben ist eines der härtesten.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Bei Bitmap Arbeitsspeicher zu gering ???

  Alt 31. Mai 2007, 12:48
Welche Windows-Version verwendest du und bist du dir sicher alles wieder korrekt freizugeben (Check mit FastMM4).
Vermutlich ist nicht der "normale" Speicher das Problem sondern GDI-Ressourcen.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
matashen

Registriert seit: 29. Jan 2007
Ort: daheim
460 Beiträge
 
Delphi XE2 Enterprise
 
#3

Re: Bei Bitmap Arbeitsspeicher zu gering ???

  Alt 31. Mai 2007, 13:21
Ich verwende Windows 2000 und die Anwendung soll auch auf der Plattform laufen.

Also ich hab mit Sicherheit alles freigegeben, vor allem weil unter umständen der Fehler schon beim einfügen des ersten Bildes auftritt.

Wo finde ich die GDIs, was damit gemeint ist hab ich inzwischen nachgeguckt.
Kann ich durch einfügen von einem (EINEM) Bild dermassen viele Handles beanspruchen ?
Und warum gibt es dann bei kleineren Bildern kein Problem. Und warum geht das nicht bei einem dynamisch erzeugten TBitmap aber bei einer TImage-Komponente ?

das ganze check ich ned.
Matthias
Das Leben ist eines der härtesten.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: Bei Bitmap Arbeitsspeicher zu gering ???

  Alt 31. Mai 2007, 13:38
Passiert das immer bei den gleichen Bildern. Es gibt da einige Bitmap-Abarten die nicht so richtig Windows-Kompatible sind ...
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
matashen

Registriert seit: 29. Jan 2007
Ort: daheim
460 Beiträge
 
Delphi XE2 Enterprise
 
#5

Re: Bei Bitmap Arbeitsspeicher zu gering ???

  Alt 31. Mai 2007, 13:50
Es passiert bei Bildern die ich in einem PDF markiere und stark vergrößert in die Zwischenablage lege anschließend mit meinem gezeigten Codeschnippsel einfüge. Das Bild dürfte dann so ca. 20-30MB haben
Matthias
Das Leben ist eines der härtesten.
  Mit Zitat antworten Zitat
OregonGhost

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

Re: Bei Bitmap Arbeitsspeicher zu gering ???

  Alt 31. Mai 2007, 13:55
Haben GDI-Bitmaps nicht eine gewisse Größenbegrenzung, sei es eine in Bytes oder eine maximale Abmessung? Mir war da doch so...
Oregon Ghost
---
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.
  Mit Zitat antworten Zitat
matashen

Registriert seit: 29. Jan 2007
Ort: daheim
460 Beiträge
 
Delphi XE2 Enterprise
 
#7

Re: Bei Bitmap Arbeitsspeicher zu gering ???

  Alt 31. Mai 2007, 14:06
Wenn es hier eine Begrenzung gäbe würde mich das auch interessieren, vor allem wie kann ich dann mein Problem lösen
Matthias
Das Leben ist eines der härtesten.
  Mit Zitat antworten Zitat
OregonGhost

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

Re: Bei Bitmap Arbeitsspeicher zu gering ???

  Alt 31. Mai 2007, 14:09
Naja, du kannst einerseits deine Bitmap in mehrere einteilen, andererseits musst du natürlich nicht unbedingt GDI-Bitmaps verwenden, es kommt ja auch eine andere Bibliothek, im Zweifel selbst geschrieben, in Frage.
Oregon Ghost
---
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.
  Mit Zitat antworten Zitat
matashen

Registriert seit: 29. Jan 2007
Ort: daheim
460 Beiträge
 
Delphi XE2 Enterprise
 
#9

Re: Bei Bitmap Arbeitsspeicher zu gering ???

  Alt 31. Mai 2007, 14:17
Eine Bibliothek für Bitmaps schreiben ? Nur um die adressierungsprobleme von MS zu umschiffen ? och nee - soviel Aufwand sollte das ganze nicht werden... grummel

Gibt es eigentlich eine möglichkeit die Farbinformationen in einen Pointer zu schieben ohne das ganze drumherum. Wie es früher unter DOS gang und gäbe war. Sowas wie z.B.

<grob umrissen ohne Funktion>
Bilddaten: Pointer

^Bilddaten:=bitmap.datenfeld;

[EDIT]
Wenn natürlich jemand ne Möglichkeit kennt Bilder aus einem PDF direkt zu extrahieren, könnt ich mir das ganze zerstückeln und wieder zusammenkleben sparen...
Matthias
Das Leben ist eines der härtesten.
  Mit Zitat antworten Zitat
OregonGhost

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

Re: Bei Bitmap Arbeitsspeicher zu gering ???

  Alt 31. Mai 2007, 14:23
Naja, die GDI ist keine Bibliothek für professionelle Bildbearbeitung, trotz aller Limitierungen, die sie mit sich herumschleppt, ist sie ja für alltägliche Zwecke ausreichend. Klar kannst du einfach Bits und Bytes schieben - eventuell ist das Thema DIBs in der GDI ein Thema für dich, da kannst du nämlich aus GDI-Bitmaps die Daten bekommen oder Daten in GDI-Bitmaps schreiben. Du selbst kannst ja mit den Daten arbeiten wie du willst.
Oregon Ghost
---
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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:12 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