Jpeg-bILD

Sam_

Mitglied
Hallo,

mit welcher Methode kann ich ein JPEG bildDatei in kleine Kacheln zerlegen, zum Beispiel in der Größe 256x256.

Gruss
Sam
 
Danke sehr.. Ich habe eine weitere Frage: Wie kann ich eine if abfrage machen, in der ich folgendes formulieren möchte:

if(x = mit Kommazahl (z.B. 3.125)){...} führe folgende Anweisung. Mit welchem Funktion kann man alles zeigen lassen.
Bei %(modulu) ist der Rest und bei / divideren ist ohne Rest. mit welchem Symbol kann ich alles zeigen lassen..??

Gruss
Sam
 
Ich habe eine weitere Frage: Wie kann ich eine if abfrage machen, in der ich folgendes formulieren möchte:
if(x = mit Kommazahl (z.B. 3.125)){...} führe folgende Anweisung.
Was? Vergleiche macht man mit [c]==[/c], nicht mit [c]=[/c]!
Mit welchem Funktion kann man alles zeigen lassen.
Kann man was anzeigen lassen?
Bei %(modulu) ist der Rest und bei / divideren ist ohne Rest.
Modulo gibt den Rest aus, ja. int-Divisionen geben einen int zurück, der ist logischerweise ganzzahlig und darum abgeschnitten. Also gibt [c]3 / 2[/c] natürlich [c]1[/c] und [c]3 / 2.0[/c] dem entsprechend [c]1.5[/c], da dort zuerst der Datentyp "gewechselt" wird. Natürlich sollte das Resultat dann nicht in einer Ganzzahl gespeichert werden.
mit welchem Symbol kann ich alles zeigen lassen..??
...!?
 
Hallo Nochmals,

ich habe eine weitere Frage.. Ich habe nun versucht aus einem Jpeg Bild (400x800) ein Kachel zu extrahieren, mit der Methode getSubimage(), als Parameter habe ich folgende Werte angegeben:

System.out.println(img.getSubimage(0, 0,100, 100))
Weiss jmd, was ich falsch mache!!
es geschieht nichts..

gruss
sam
 
Es geschieht nichts kann ich mir fast nicht vorstellen... Wird keine Exception ausgegeben?
Aber ganz abgesehen davon wird das [c]println()[/c] sowieso nichts sinnvolles ausgeben - wie soll es auch...
 
Hi,
danke, es hat funktioniert..🙂. ich habe mit getSubImage(int x, int y, int w, int h) eine beliege Kachel aus dem JPEG extrahiert und auch ausgegeben.

Aber Da das Bild aus mehreren Kacheln besteht: - wie kann ich ein Programm schreiben wo nicht nur eine einzelne Kachel ausgibt, sondern alle Kacheln des Bildes und jede einzelne Kachel in einem Verzeichnis hinterlegen.

- ich muss irgendwie eine Methode formulieren, die erste Kachel hat die Größe (0,0,100,100), die zweite kachel beginnt (101,101,200,200).


Für jegliche Tips wäre ich euch dankbar!!

Gruss
Sam
 
@Crian: dein Beispiel ist auch nicht besser 😉
Wenn ein Bild von 200x200px in 4 Kacheln aufgeteilt werden soll, ist der Code (ohne Schleife) ganz simpel wie folgt:
Code:
getSubimage(0, 0, 100, 100); // lo
getSubimage(100, 0, 100, 100); // ro
getSubimage(0, 100, 100, 100); // lu
getSubimage(100, 100, 100, 100); // ru
 
@Crian: dein Beispiel ist auch nicht besser 😉
Wenn ein Bild von 200x200px in 4 Kacheln aufgeteilt werden soll, ist der Code (ohne Schleife) ganz simpel wie folgt:
Code:
getSubimage(0, 0, 100, 100); // lo
getSubimage(100, 0, 100, 100); // ro
getSubimage(0, 100, 100, 100); // lu
getSubimage(100, 100, 100, 100); // ru

Ich hatte es als je zwei Punkte verstanden. So würde ich jedenfalls eine getSubimage()-Methode schreiben. Offenbar wird aber, wenn ich dein Beispiel richtig verstehe, ein Punkt und zwei Längen übergeben. So kann man es natürlich auch machen.
 
Ich hab das wegen dem geschrieben:

Aber Da das Bild aus mehreren Kacheln besteht: - wie kann ich ein Programm schreiben wo nicht nur eine einzelne Kachel ausgibt, sondern alle Kacheln des Bildes und jede einzelne Kachel in einem Verzeichnis hinterlegen.

Das klingt für mich danach, dass das Bild einfach "zerschnitten" wird und all seine Stücke abgespeichert werden soll.
 
hi timbeau,

ich möchte eine Methode schreiben, besser gesagt, eine allgmeine Methode (- die in der Oberklasse steht). Die in einer Subklasse(sagen wir JPGKlasse) aufgerufen und überschrieben werden kann. Die Methode soll ein JPG-Bild in mehreren Kacheln zerlegen.
In der SubKlasse soll ich das JPEG aufrufen und darauf die Methode aus der Oberklasse anwenden, d.h. das JPG-Bild in mehreren Kacheln extrahieren.( die Größe der Kacheln können beliebig sein z.B. 256x256) und anschließend in einem Verzeichnis hinterlegen.

Da sich die JPEG-Bilder in ihrer Größe unterscheiden, kann ich vorher nicht wissen wieviele Kacheln entstehen. Wenn ein JPEG-Bild zum 1.578 Kacheln hat muss ich aufrunden auf insgesamt 2 Kacheln.

Gruss
Sam
 
Ich glaube bei den Punkteangaben geht es eher um inklusive und exklusive Koordinaten.

@Sam: Dann hast du würde ich sagen immer gleichgroße Kacheln pro Durchlauf und diese dürfen sich nicht überschneiden. Nur die Kacheln am Rand werden dann kleiner. Das kannst du aber gut mit 2 Schleifen lösen wie schon von faetz angesprochen.
 
Zuletzt bearbeitet:

Zurück
Oben