Registriert: Sa Jan 04, 2003 21:23 Beiträge: 674 Wohnort: Köln
Kennt einer eine Möglichkeit um die Farbwerte und den Alphawert an einer ebstimtmen x und y-Position in einem TGA-File zu ermitteln?
ich könnte auch das Format ändern, wenns dann leichter ginge, allerdings möchte ich ein Format vermeiden, welches keinen Alpha-Channel hat...
denn sonst könnte ich ja auch 2 Bitmaps nehmen und mit dem Bmp.Pixels[..] befehl arbeiten...
also, wenn jemand sowas in der Art für TGA kennt bitte erklären
habe mir mal die Spezifikationen von wotsit angesehn, aber das war alles etwas komisch bzw. zu kompliziert (dann doch lieber Bmp )
Danach folgen bei einem umkomprimierten TGA mit 24 oder 32 Bit direkt die Bilddaten als 2D Array. Es sind hier auch ein paar Texture Units im Umlauf, ich glaube da können einige auch TGA laden.
Registriert: Sa Jan 04, 2003 21:23 Beiträge: 674 Wohnort: Köln
laden kann ich es ja, aber dann hab ichs in ner Textur und wie ich da auf die Pixel zugreifen kann weiß ich auch nicht 0:)
werde mal versuchen das einzubauen
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Lars hat dir doch kurz den Aufbau des TGAs erklärt. Wenn du das unkomprimiert speicherst, hast du ganz einfach direkt die Pixel als 2D-Array in der Datei nach deinem Header. Also einfach Header laden, Pixelarray dimensionieren (Größe siehe Header) und die Daten da rein laden, entweder als RGB (3 Byte pro Pixel) oder RGBA (4 Byte pro Pixel) und schon kannste nach Lust und Laune auf deine Pixel zugreifen.
Registriert: Sa Jan 04, 2003 21:23 Beiträge: 674 Wohnort: Köln
hm... muss ehrlich sagen, dass ich sowas wie Bytes aus ner Datei auslesen noch nie gemacht habe...
gibts für sowas nen Tutorial?
ich habe zwar sowas in der Art in der Textures.pas, werde da aber nicht schlau draus ... jedenfalls nicht auf die schnelle...
meine konreten Fragen sind:
wie bekomme ich die Daten au dem header der Datei in das Record und wie lese ich das Array dann aus 0:)
danke für die Mühe *g*
P.S. immer wenn man denkt man hätte was gelernt kommt was neues, was man noch nei gesehen hat ;D
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
Schau dir mal die glBitmap.pas (im DGL-SDK). Dort erstelle ich einen TFileStream und lese ein TGA in ein TBitmap.
Und wenn du es einmal gesehen und halbwegs verstanden hast ist das überhaupt keine große Sache mehr. Mit dem Stream kannst du eine Variable angeben und sagen wie viele Bytes er dort hineinlesen soll. Und das Springen in einer Datei ist sehr einfach gelöst.
Und für den Fall, dass du mit der Pixelauslesung nicht so ganz klar kommst habe ich dort drin auch so 1 bis 20 Stellen wo ich das mache.
Mitglieder in diesem Forum: 0 Mitglieder und 9 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.