LA LECTURE DES IMAGES
BMP
Voici un exemple de gestion des images bitmap avec le langage
Java.
import java.io.*;
class LireImagebmp{
static int[][] r;
static int[][] v;
static int[][] b;
static int[] entete;
static void lireImagebmp1(String adresseImage){
int largeur=25;//19;
int hauteur=16;//15;
int position=54;
int complement=largeur % 4;
if (hauteur <0|| largeur<0){
System.out.println("image introuvable : "+ adresseImage
+"!");
}
r=new int[hauteur][largeur];
v=new int[hauteur][largeur];
b=new int[hauteur][largeur];
entete=new int[position];
try{
FileInputStream fis=new
FileInputStream(adresseImage);
BufferedInputStream bis=new
BufferedInputStream(fis);
DataInputStream dis=new DataInputStream(bis);
for (int i=0; i<position; i++){
entete[i]=dis.read();// entete de l'image
System.out.println(i+" : "+entete[i]);
}
for (int i=hauteur-1; i>=0; i--){
for(int j=0; j<largeur; j++){
b[i][j]=dis.read(); v[i][j]=dis.read();
r[i][j]=dis.read();//corps de l'image
//System.out.println("i="+i+"
j="+j+"\t"+r[i][j]+";"+v[i][j]+";"+b[i][j]);
}
for(int j=0; j<complement; j++)
dis.read();
}
dis.close();
for (int i=0; i<hauteur; i++){
for(int j=0; j<largeur; j++){
System.out.println("i="+ij="+j+"\t"+r[i][j]+";"+v[i][j]+";"+b[i][j]);
}
}
}catch(IOException e) {
System.out.println("Erreur dans la lecture de
l'image");
}
}
public static void main(String[] arg){
lireImagebmp1("jm1.bmp");
}}
|