AGB  ·  Datenschutz  ·  Impressum  







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

Surface Stream

Ein Thema von EWeiss · begonnen am 28. Dez 2013 · letzter Beitrag vom 30. Dez 2013
Antwort Antwort
Seite 3 von 3     123   
EWeiss
(Gast)

n/a Beiträge
 
#21

AW: Surface Stream

  Alt 30. Dez 2013, 11:35
Zitat:
Ich hatte es bis gerade so verstanden, dass du ein Surface aus einer C#-Anwendung in eine Delphi-Anwendung schaufeln willst.
Ich wollte von vornherein einen Stream für die Rohdaten verwenden.

Zitat:
Ich möchte mein Surface (nein nicht das man kaufen kann) also das von DirectX in einen Stream(TStream) kopieren.
Ich finde nur Möglichkeiten unter SlimDX
Und das ist es wobei Zacherl mir geholfen hat
Ich war etwas konfus das GraphicStream von Ms aus der DX Bibliothek in Delphi nicht zu finden war.
Hab dann nach alternativen gesucht wie DataStream von SlimDX und habe dabei ganz einfach übersehen das
die Stream Function Ansicht genau vor meiner Nase lagen.

Auf die Platte wird nichts mehr gespeichert
Alles in einem MemoryStream..

gruss

Geändert von EWeiss (30. Dez 2013 um 14:00 Uhr)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#22

AW: Surface Stream

  Alt 30. Dez 2013, 14:01
noch einen Nachtrag..

Zitat:
Das Problem mit deiner Funktion ist einfach, dass du das Bild als Windows-Bitmap speicherst, aber beim laden davon ausgehst, dass in der Datei die Rohdaten der Quell-Streams stehen. Tun sie aber nicht, da das Bitmap-Format zum einen einen eigenen Header (Meta-Daten vor den eigentlichen Bilddaten) in die Datei bringt, und zudem der Standard nicht alle Pixelformate vorsieht, die ein DX Surface haben könnte, weshalb da im schlimmsten Fall sogar noch konvertiert wird. Der Dateiinhalt hat nachher also potenziell kaum noch etwas mit den ursprünglichen Rohdaten im Surface-Buffer gemein.
Das Problem ist eher ein anderes..
Die Farben die nun ermittelt werden muss ich quasi als Quader auf ein Bitmap zeichnen
diese wird dann gestaucht auf eine Größe von 64x48 und anschließend als Bitmap nach AtmoWin geschickt.
Als Bitmap deswegen weil die den Header erwarten!

Code:
BinaryReader reader = new BinaryReader(stream);
 stream.Position = 0; // ensure that what start at the beginning of the stream.
 reader.ReadBytes(14); // skip bitmap file info header
 byte[] bmiInfoHeader = reader.ReadBytes(4 + 4 + 4 + 2 + 2 + 4 + 4 + 4 + 4 + 4 + 4);
 byte[] pixelData = reader.ReadBytes((int)(stream.Length - stream.Position));
 atmoLiveViewCtrl.setPixelData(bmiInfoHeader, pixelData);
Ich war vorher davon ausgegangen das Ursprungs Bild zu verkleinern aber das wäre ja quatsch gewesen deshalb war meine Annahme diese vorher auf die Platte zu schreiben schlichtweg falsch.
Nur die Farbfragmente sind wichtig.
Aber ob ich das Bild dann auch auf die Platte speichern muss wird sich erst noch zeigen.

gruss

Geändert von EWeiss (30. Dez 2013 um 14:19 Uhr)
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.679 Beiträge
 
Delphi 2007 Enterprise
 
#23

AW: Surface Stream

  Alt 30. Dez 2013, 14:13
Fein, jetzt hab ich den Faden endgültig verloren Aber wenn's nun klappt, macht das ja nichts
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#24

AW: Surface Stream

  Alt 30. Dez 2013, 14:18
Fein, jetzt hab ich den Faden endgültig verloren Aber wenn's nun klappt, macht das ja nichts
Ach was soll's macht ja nichts.
Letztendlich bin ich über jede Hilfe Dankbar man kann nicht alles beherrschen (will aber so vieles tun).

gruss
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


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