Codage JPEG - Problème

Pyxxs Messages postés 2 Date d'inscription mardi 12 janvier 2010 Statut Membre Dernière intervention 14 janvier 2010 - 14 janv. 2010 à 11:45
Pyxxs Messages postés 2 Date d'inscription mardi 12 janvier 2010 Statut Membre Dernière intervention 14 janvier 2010 - 14 janv. 2010 à 11:46
Bonjour,
je travaille actuellement sur la conception d'un codeur JPEG en java.
Mon problème est qu'en essayant de transférer les couleur RGB d'une image puis de les envoyée dans un tableau de byte mes couleur sont compris entre -128 et 127. Je sais ce que vous allez me dire : " Ton tableau est de types byte les valeurs sont donc compris entre -128 et 127, tu devrais utiliser un type unsigned byte qui soit dit en passant n'éxiste pas sur JAVA".
Comment faire alors?
Voici la partit du code qui me permet de transférer d'un fichier ppm vers un tableau de byte.
 public byte[] PpmToArray () {
        	
        	int a=0;
        	byte[] ArrayImage = new byte[4*hauteur*largeur];
        	
        	byte add =(byte)0x80;
        	System.out.println(add);
        	
        	
        	for (int i=0; i<hauteur; i++){
        		for(int j=0; j<largeur; j++){
        			ArrayImage[a] = (byte)data[i][j].getRed();
        			//System.out.println(ArrayImage[a]);
        			a++;
        			ArrayImage[a] = (byte)data[i][j].getGreen();
        			//System.out.println(ArrayImage[a]);
        			a++;
        			ArrayImage[a] = (byte)data[i][j].getBlue();
        			//System.out.println(ArrayImage[a]);
        			a++;
        			ArrayImage[a] = (byte)0;
        			//System.out.println(ArrayImage[a]);
        			a++;
        			
        		}
        		
        	}
        return ArrayImage;
        
        }


Ps : ceci fais partie d'une classe nommée Image j'appelle cette méthode dans une classe TestImage.

Merci pour vos réponse.

1 réponse

Pyxxs Messages postés 2 Date d'inscription mardi 12 janvier 2010 Statut Membre Dernière intervention 14 janvier 2010
14 janv. 2010 à 11:46
Edit : add été un test pour ajouter 128 a mes composante RGB mais ceci n'as pas fonctionner car le résultat est -128.
0
Rejoignez-nous