FileInputStream auf ein swt.Image

Votek

Mitglied
Hi Leute,

erstmal vorne weg ich bin mir nicht ganz sicher ob das hier reingehört, aber ich frage trotzdem mal hier.

1. Ist es überhaupt möglich einen FileInputStream zu erzeugen aus einem swt.Image?

2. Nur um der Frage vorzubeugen, ich erweitere eine bereits vorhanden Applikation und habe leider nur das Image und nicht das File zur Verfügung.

3. Um vielleicht noch zu erläutern wozu ich den FileInputStream brauche. Ich möchte aus dem Image eine OpenGL Textur machen und benutze dazu Slick und die wollen einen FileInputStream dafür.


Ich würde mich freuen, wenn mir einer von euch helfen könnte. Vielen Dank schonmal.

Grüße
Votek
 
Hi,
bin mir nicht sicher ob ich dich richtig verstanden habe:

Du hast ein Bild vorliegen in einem üblichen Format (jpg, png, bmp, etc.) und du kommst mit einem FileInputStream nicht so richtig an die Daten des Bildes oder wie?
 
Genau, dass Problem ist das ich das Bild als swt.Image vorliegen habe. Ich brauche aber einen FileInputStream auf dieses Bild.

Es gäbe zwar die Möglichkeit das Image in ein File zu schreiben und dann über den InputStream wieder einzulesen, aber das ist natürlich eine sehr unschöne Variante. Außerdem würde das Bild quasi doppelt gelesen.

Grüße
Votek
 
Ich nehme mal an, du brauchst für die Verarbeitung einen FileInputStream, hast das Bild aber momentan nur als swt.image liegen.
Nun möchtest du das Bild so umwandeln, dass du es für die weitere Verarbeitung nutzen kannst?
Sofern ich dich richtig verstanden habe, wäre etwas code schön zu sehen 🙂
 
Also es geht eigentlich wirklich nicht um ein bestimmtes Codesegment. Um es trotzdem mit einem Beispiel zu unterfüttern also folgendes.

Java:
public void init() throws FileNotFoundException, IOException{
		ArrayList<TrackSection> tracksections = this.parcoursData.getSections();
		Texture temp_texture;
		
		for(int i = 0;i<tracksections.size();i++){
			String fileName = "res/".concat(tracksections.get(i).getName());
			System.out.println(fileName);
			temp_texture = TextureLoader.getTexture("JPG", new FileInputStream(
			fileName));
			this.texture.add(temp_texture);
			
		}
	}

Um diesen Abschnitt geht es. Genauer um den punkt "TextureLoader.getTexture("JPG", new FileInputStream(fileName));" So das Problem ist, dass ich es leider so wie ich es hier gemacht habe nicht machen kann, da ich nicht den Dateinamen bekomme, sondern ein swt.Image. Leider aktzeptiert der Textloader nur FileInputStreams. Hoffe das ich jetzt klar machen konnte was das Problem ist.

Grüße
Votek
 

Neue Themen


Zurück
Oben