import java.util.*;
import java.lang.*;
import java.io.*;

class Main {
    public static void affiche(int width,int height, int [][] color){
        for(int i = 0; i<height ; i++) {
            for (int j = 0; j < width; j++)
                System.err.print(color[i][j] + " ");
            System.err.println();
        }
    }

    public static int [][] applyfilter(int width,int height, int filter, int [][] color){
        System.err.println("--color--");
        affiche(width,height,color);

        int[][] result = new int[height][width];
        System.err.println("filtre : " + filter);
        if(filter==1){
            int k=0;
            int l=0;
            for(int i = 0; i<height ; i++) {
                for (int j = width-1; j >=0; j--) {
                    result[k][l] = color[i][j];
                    l++;
                }
                l=0;
                k++;
            }
        }else if(filter==2){
            if(width==1 && height==width) {
                affiche(width,height,color);
                return color;
            }
            else{
                for(int i = 0; i<height ; i++) {
                    for (int j = 0; j < width; j++) {
                        int sum=0;
                        float div=0;
                        //System.err.println("**case courante : " + color[i][j] + "**");
                        if(i>0){
                            //System.err.println("case adjacente haut : " + color[i-1][j]);
                            sum+=color[i-1][j];
                            div+=1;
                        }
                        if(i>0 && j<width-1){
                            //System.err.println("case adjacente haut droite: " + color[i-1][j+1]);
                            sum+=color[i-1][j+1];
                            div+=1;
                        }
                        if(j<width-1){
                            //System.err.println("case adjacente droite : " + color[i][j+1]);
                            sum+=color[i][j+1];
                            div+=1;
                        }
                        if(i<height-1 && j<width-1){
                            //System.err.println("case diagonale bas droite : " + color[i+1][j+1]);
                            sum+=color[i+1][j+1];
                            div+=1;
                        }
                        if(i<height-1){
                            //System.err.println("case adjacente bas : " + color[i+1][j]);
                            sum+=color[i+1][j];
                            div+=1;
                        }
                        if(i<height-1 && j>0){
                            //System.err.println("case diagonale bas gauche : " + color[i+1][j-1]);
                            sum+=color[i+1][j-1];
                            div+=1;
                        }
                        if(j>0){
                            //System.err.println("case adjacente gauche : " + color[i][j-1]);
                            sum+=color[i][j-1];
                            div+=1;
                        }
                        if(i>0 && j>0){
                            //System.err.println("case diagonale gauche : " + color[i-1][j-1]);
                            sum+=color[i-1][j-1];
                            div+=1;
                        }
                        //System.err.print(Math.round(sum/div)+ " ");
                        result[i][j]=Math.round(sum/div);
                    }
                }
            }
        }

        System.err.println("--result--");
        affiche(width,height,result);
        return result;
    }

    public static void main(String[] args) {
        int [][] exemple1 = applyfilter(4,4,1, new int [][]{{1,2,3,4},
                {5,6,7,8},
                {9,10,11,12},
                {13,14,15,16}});
        int [][] exemple2 = applyfilter(3,1,1, new int [][]{{1,2,3}});
        int [][] exemple3 = applyfilter(4,4,2, new int [][]{{1,2,3,4},
                {5,6,7,8},
                {9,10,11,12},
                {13,14,15,16}});
        int [][] exemple4 = applyfilter(1,1,2, new int [][]{{1}});
    }
}

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: