AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Kombi von 2D mit 3D Elementen, auch ohne OpenGL ?
Thema durchsuchen
Ansicht
Themen-Optionen

Kombi von 2D mit 3D Elementen, auch ohne OpenGL ?

Ein Thema von CloudyofSky · begonnen am 20. Nov 2006 · letzter Beitrag vom 23. Nov 2006
 
Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#11

Re: Kombi von 2D mit 3D Elementen, auch ohne OpenGL ?

  Alt 23. Nov 2006, 09:12
Zitat von CloudyofSky:
@Der_Unwissende:
Ich habe nun auch deines Ausprobiert und mit dem was du geschrieben hast, klappt es prima, kann sogar sehen das er die Datei anlegt. Was jedoch nicht klappt ist, das ich ein Bild draus lade und dieses dann per TImage ausgeben kann
Ja, das Problem liegt im direkten Laden der Bitmap aus dem Stream. Ein Stream hat einen Positionszeiger, der immer auf die akutelle Lese/Schreibposition zeigt. Lädst du also eine Bitmap aus dem Container in einen Stream, so wird dieser Stream natürlich geschrieben. Beim anlegen des Streams zeigt der Zeiger auf Position 0, nach dem schreiben auf das nächste Byte, dass geschrieben werden kann.
Wenn du jetzt das Bitmap aus diesem Stream lädst, dann zeigt der Zeiger auf das erste Byte das geschrieben werden kann (also noch nicht gesetzt ist). Damit wird kein Bitmap geladen und etwas zu zeichnen, dass keine Dimension hat ist dann auch schwierig. Deshalb musst du einfach nur vor dem Laden den Zeiger zurück setzen. Am einfachsten änderst du in der Funktion readNextFromContainer wie folgt:
Delphi-Quellcode:
...
if Container.Position + length <= Container.Size then
begin
  result := TMemoryStream.Create;
  result.CopyFrom(Container, length);
end // if Container.Position + length < Container.Size
...
Denke dass es einfach nur das war, der Rest sollte funktionieren. Ach ja, die Abfrage muss auch geändert werden, <= statt kleiner, also halt wie hier, sonst geht das letzte Bild verloren.

Gruß Der Unwissende
  Mit Zitat antworten Zitat
 


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 08:07 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