Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Mi Jul 16, 2025 01:38

Foren-Übersicht » Programmierung » Allgemein
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 9 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: TGAFile.Pixels ?
BeitragVerfasst: Di Dez 16, 2003 16:25 
Offline
DGL Member
Benutzeravatar

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 ;) )

THX
MfG
Fiji-Fighter

_________________
. . .


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Dez 16, 2003 16:35 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Dez 28, 2002 11:13
Beiträge: 2244
Der TGA Header sieht so aus:
Code:
  1. TTGAHeader=packed record
  2.  id_length,colormap,image:byte;
  3.  colormap_index,colormap_length:smallint;
  4.  colormap_size:byte;
  5.  x_origin,y_origin,width,height:smallint;
  6.  pixel_size,attributes:byte;
  7. end;
  8.  

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.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Dez 16, 2003 16:37 
Offline
DGL Member
Benutzeravatar

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

_________________
. . .


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Dez 16, 2003 16:38 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Dez 28, 2002 11:13
Beiträge: 2244
Aber in diesen Texture Loadern ist ja der Quelltext zum Kopieren in eine Texture.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Dez 16, 2003 16:43 
Offline
DGL Member
Benutzeravatar

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.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Dez 16, 2003 16:46 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Jan 04, 2003 21:23
Beiträge: 674
Wohnort: Köln
o_O
werds mal versuchen... danke :)

_________________
. . .


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Dez 16, 2003 17:05 
Offline
DGL Member
Benutzeravatar

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

_________________
. . .


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Dez 16, 2003 17:14 
Offline
DGL Member
Benutzeravatar

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. ;-)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Dez 16, 2003 20:09 
Offline
DGL Member
Benutzeravatar

Registriert: Di Jul 01, 2003 18:59
Beiträge: 887
Wohnort: (The Netherlands)
Programmiersprache: fpc/delphi/java/c#
auf der site von sulaco findest du ein example von alpha blending met transparante bereicht im tga files.

http://www.sulaco.co.za/opengl.htm
http://www.sulaco.co.za/opengl/transparentTGA.zip

_________________
http://3das.noeska.com - create adventure games without programming


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 9 Beiträge ] 
Foren-Übersicht » Programmierung » Allgemein


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 5 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.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.008s | 14 Queries | GZIP : On ]