Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Ebenen eines Bildes (TGA etc.) auslesen? (https://www.delphipraxis.net/138444-ebenen-eines-bildes-tga-etc-auslesen.html)

Rickiwarhammer 10. Aug 2009 15:58


Ebenen eines Bildes (TGA etc.) auslesen?
 
Ich habe lange zeit meine Spiele etc. programmiert mit einzelnen Bildern. Alleine die Bilder einzeln zu speichern und anders zu zeichnen hatte Teils sehr viel Zeit beansprucht und einiges an Speicher auf dem PC ... Nun habe ich mir eigentlich gedacht, dass es doch um einiges leichter wäre die Ebenen aus der File direkt auszulesen und dann im Programm anzeigen zu lassen so würden manchmal 100+ Bilder (verschiedene Kombinationen vom Bild) wegfallen.

Habe erstmal jedes bescheuerte Buch durchgeblättert und das halbe Internet durchwühlt ... leider ohne Erfolg^^ Nun wollte ich fragen wie man dies am besten erreichen kann. Wäre wirklich super wenn ihr mir helfen könntet =D

wicht 10. Aug 2009 16:06

Re: Ebenen eines Bildes (TGA etc.) auslesen?
 
Ich hoffe, ich verstehe dich richtig, aber so wie ich das immer beobachtet habe, wird dann einfach eine Bilddatei benutzt, die die Einzelbilder in einem Gitter enthält... Inwiefern das für dich praktikabel ist, weiß ich leider nicht.

Rickiwarhammer 10. Aug 2009 16:41

Re: Ebenen eines Bildes (TGA etc.) auslesen?
 
Also meinst du, dass die Bilddateien wie Archive genutzt werden? Hab ich mir auch schon gedacht, dass z.B. in einer PSD kein "komplettes" Bild enthalten ist sondern nur die Ebenen mit den verschiedenen Bruchstücken. Jedoch hab ich auch dazu keine genaueren Infos gefunden.

Habe gemerkt, dass mein Anliegen teils etwas unverständlich war :P

Also^^ ich würde gerne die Bild Dateien wie TGA und PSD so öffnen wie in Photoshop. Dort ist es ja möglich manche Bildtypen mit Ebenen zu speichern. Z.B. Ebene 1: Kopf, Ebene 2: Oberkörper. Wenn man beide Ebenen "an" hat werden die beiden Ebenen zusammen angezeigt und man sieht den Kopf und den Oberkörper zugleich. Jedoch wenn man die Ebene 1 ausblendet dann sieht man nur noch den Oberkörper. Dies könnte man auch mit 2 Dateien machen und diese Laden/Schliessen. Jedoch um Platz zu sparen^^ und arbeit xP habe ich mich gefragt ob man in Delphi die Dateien mit den Ebenen wie in Photoshop laden könnte sodass man auch auf die verschiedenen Ebenen zugriff hat und diese beliebig an- und ausschalten kann ohne 2 oder mehr dateien zu benötigen. =)

Aphton 10. Aug 2009 19:05

Re: Ebenen eines Bildes (TGA etc.) auslesen?
 
Spricht irgendetwas gegen Sprites?

Rickiwarhammer 10. Aug 2009 20:21

Re: Ebenen eines Bildes (TGA etc.) auslesen?
 
Nene^^ geht mir ja nicht drum wie mans anzeigen lassen kann =D sondern wie mans aus der Datei lesen kann. Da Ebenen in Grafikdateien nicht die Regel ist gibt es wohl keine Funktion in Delphi die das auslesen der verschiedenen Ebenen übernimmt =)

Prototypjack 10. Aug 2009 21:04

Re: Ebenen eines Bildes (TGA etc.) auslesen?
 
Zitat:

Zitat von Rickiwarhammer
Nene^^ geht mir ja nicht drum wie mans anzeigen lassen kann =D sondern wie mans aus der Datei lesen kann. Da Ebenen in Grafikdateien nicht die Regel ist gibt es wohl keine Funktion in Delphi die das auslesen der verschiedenen Ebenen übernimmt =)

Obwohl ich deinen Ansatz in diesem Falle eher als fragwürdig einschätze, möchte ich trotzdem meinen Senf dazugeben (das Quellmaterial scheint ja schon vorhanden zu sein, sonst scheint mir der Ansatz mit einzelnen Bildern in einzelnen Dateien für die Sprites eines Spiels merkwürdig zu sein.) ;)

Auslesen kannst du die Dateien auf jeden Fall, denn das machen andere Programme ja auch. Das Problem ist jetzt, dass natürlich verschiedene Formate die Daten auf verschiedenen Wegen ablegen. Du musst dir also die Datei-Spezifikation von einem Format holen (z.B. PSD), wenn du dann weißt, wie die Datei intern aufgebaut ist, kannst du auch die Ebenen auslesen (aber nur die des Formates, hier PSD, natürlich).

Grüße,
Max

hadschi92 11. Aug 2009 10:44

Re: Ebenen eines Bildes (TGA etc.) auslesen?
 
Wikipedia sagt mir, dass das PSD-Format urheberrechtlich geschützt ist (proprietär).

Du könntest jedoch mal bei dem Programmierer von IrfanView anfragen wie er das mit dem PSD Import gelöst hat. Soviel ich weiß ist IrfanView auch in Delphi geschrieben...

Rickiwarhammer 12. Aug 2009 18:13

Re: Ebenen eines Bildes (TGA etc.) auslesen?
 
Super danke =) Werde in nächster Zeit mal versuchen mit den Programmierern von IrfanView in Kontakt zu kommen =D Danke für eure schnelle Hilfe ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 19: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