reverse(array);
for (T subArray : array) {
reverse(subArray);
}
public void reverse(int... array) {
int len = array.length;
for (int i = 0; i < len / 2; i++) {
int tmp = array[len - i - 1];
array[len - i - 1] = array[i];
array[i] = tmp;
}
}
Hey, ich suche einen Algorithmus der mir die i Werte aus einem array[j] anders herum ausgibt. Brauch das um ein Bild an der Vertikalachse zu Spiegeln. Danke!![]()
public class BildManipulation3 {
// Anfang Attribute
// Ende Attribute
// Anfang Methoden
public static void main(final String[] args) {
// eine grafik laden
BildAnzeige t = new BildAnzeige("emu2.jpg");
t.setGray(); // Bild auf graustufen setzen
/*
* zugriff auf das bild erhalten
* in einer zelle steht der farbwert:
* bei farbbildern in der Codierung 0xRRGGBB
* bei graubildern im wertebereich von 0 .. 255
*/
int[][] bild = t.getPicture();
int[][] array =t.getPicture(); //Array für Konvolution
for (int i=1;i<bild.length-1;i++){
for (int j=1;j<bild[0].length-1;j++){
int farbwert=array[i][j] ;
farbwert=255-farbwert; //Negativ erzeugen
// HIER farbwert veraendern
array[i][j]=farbwert;
}
}
int len = array.length;
int temp[][] = new int[len][array[0].length];
for (int i = 0; i < len / 2; i++)
{
temp [i] = array[i];
array[i] = array[len-i-1];
array[len-i-1] = temp[i];
}
t.setVisible(true); // bild darstellen
}
// Ende Methoden
}
int len = array[0].length;
int temp[][] = new int[array.length][len];
for (int j = 0; j < array.length; j++) {
for (int i = 0; i < len / 2; i++) {
temp[j][i] = array[j][i];
array[j][i] = array[j][len - i - 1];
array[j][len - i - 1] = temp[j][i];
}
}
public class Mirrow2
{
public static void main (String [] eingabe)
{
//String filename = eingabe [0];
//Char x = Char.parseChar(eingabe[1]);
Picture source = new Picture(eingabe[0]);
int width = source.width();
int height = source.height();
int [][] bildarray = source.getImage();
int len = bildarray.length;
int temp[][] = new int [len][bildarray[0].length];
for (int i = 0; i<len/2; i++)
{
temp [i] = bildarray[i];
bildarray[i] = bildarray [len-i-1];
bildarray[len-i-1] = temp [i];
}
source.show();
}
}