Verwendung von JAI und das Splitten von Bildern

PHANTOMIAS

Aktives Mitglied
Hallo an alle!

Ich will gerne ein tif-Bild einlesen und muss dafür JAI verwenden.
Die kann ich auch dann mittels JAI.create in ein PlanarImage"setzen".

Nun habe ich jedoch folgendes Problem: Ich will das Bild in Quadrate (10 in x-Richtung, 10 in y-Richtung) aufteilen und diese einzeln aus Performancegründen behandeln (RGB-Werte auslesen und mehrfach diese "manipulieren").

Wie kann man das am Geschicktesten machen? Ich haabe etwas von TiledImages gelesen, jedoch kann ich es nicht anwenden.
So kann ich wohl ein PlanarImage in ein TiledImage "aufnehmen":
Java:
TiledImage myTiledImage = new TiledImage(myPlanarImage, 16, 16);
Habe ich dann myTiledImage mit 16x16 Blöcke, in meinem Fall dann 10* 16x16 Blöche in x- und y-Richtung? Wie greife ich aber dann auf die zu, dass ich die RGB-Werte kriege und ändern kann?

Jemand eine Idee? Danke + Gruß.
 

PHANTOMIAS

Aktives Mitglied
Was zu welchem Zweck? Das was ich machen will?
Das ist ein Programm, dass ein Bild erhält und versucht dieses farblich nach bestimmten Muster zu filtern.

Es ist einfach zu handlen für mich wenn es in Abschnitte geteilt ist, zumal dann nicht so viele Daten im Speicher vorgehalten werden müssen, denn 16*16 Pixel ist eine andere Zahl also 160*160 Pixel.

Gruß PHANTOMIAS
 

ice-breaker

Top Contributor
Ich wollte nur sagen, dass es keine Performance bringt, wenn du das Ding erst zerschnippselst und dann jeden Teil einzeln behandelst.
Effektiver wäre es mit Threads parallel an dem "großen" Bild zu arbeiten.
ungefähr so:
Java:
public void doSthOnPicture(int startX, int startY, int lenX, int lenY) {...}

doSthOnPicture(0,0,10,10); // Thread1
doSthOnPicture(0,10,10,10); // Thread2
doSthOnPicture(0,20,10,10); // Thread3

Das mit ThreadPools, oder Executors oder was immer du auch brauchst.

Edit: Ich denke nämlich das zerteilen und wieder zusammenfügen (erst recht weil du es ja auf der Festplatte speichern willst) wird dich mehr Zeit kosten, als die Arbeit einfach parallel erledigen zu lassen.
 

PHANTOMIAS

Aktives Mitglied
Ja, okay, aber ich brauche das Zerschneiden für meine Manipulationen sowieso.
Also muss ich das Bild in Blöcke aufteilen und ich habe wie gesagt etwas von TiledImage gesehen.
Wie macht man das?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
G lwjgl verwendung Spiele- und Multimedia-Programmierung 6
R Falsche Positionierung der Interpolatoren nach Verwendung Spiele- und Multimedia-Programmierung 3
I 2D-Side-Scrolling-Game in Chunks splitten Spiele- und Multimedia-Programmierung 9
T audio file splitten Spiele- und Multimedia-Programmierung 2
G GIF splitten Spiele- und Multimedia-Programmierung 8
AmsananKING Arraylist von allen bildern filtern und sortieren Spiele- und Multimedia-Programmierung 11
K Problem beim Anzeigen von Bildern Spiele- und Multimedia-Programmierung 5
J Anzeige von Bildern Spiele- und Multimedia-Programmierung 5
M pixel perfect collision detection bei rotierenden Bildern Spiele- und Multimedia-Programmierung 13
T Bibliothek zum Verkleinern von Bildern (alle Fomate) Spiele- und Multimedia-Programmierung 3
A skallieren von Bildern Spiele- und Multimedia-Programmierung 8
Y Höhe und Breite von Bildern? Spiele- und Multimedia-Programmierung 4
D Probleme beim Download von GIF-Bildern Spiele- und Multimedia-Programmierung 4
M Tiefenwerte bei 2D Bildern abfragen Spiele- und Multimedia-Programmierung 3
G Polygonfläche vom Würfel mit Bildern füllen Spiele- und Multimedia-Programmierung 5
L Skalierung von Bildern mit Transparenz Spiele- und Multimedia-Programmierung 7
P 2D Spiel mir drehbaren Bildern (Sprites) programmieren Spiele- und Multimedia-Programmierung 10
P Problem mit PNG Bildern Spiele- und Multimedia-Programmierung 16
T Collision mit Bildern Spiele- und Multimedia-Programmierung 3

Ähnliche Java Themen

Neue Themen


Oben