Une image est une image composée d'un groupe de pixels et stockée sous forme binaire. Le langage Java prend en charge trois principaux formats de fichiers image : GIF, JPEG et BMP. La fonction de traitement d'image du langage Java est encapsulée dans la classe Image.
Chargement et sortie d'image
Dans un programme Java, les images sont également des objets, donc lors du chargement d'une image, vous devez d'abord déclarer l'objet Image, puis utiliser la méthode getImage() pour associer l'objet Image au fichier image. Il existe deux manières de charger des fichiers image :
Image getImage(URL url), url spécifie l'emplacement et le nom de fichier de l'image.
Image getImage (URL url,String name), url spécifie l'emplacement de l'image et name est le nom du fichier.
Par exemple, le code suivant déclare un objet Image et utilise l'objet getImage() pour l'associer au fichier image :
Image img = getImage(getCodeBase(),"family.jpg");
L'objet URL (uniform Resource Location Uniform Resource Locator) est utilisé pour identifier le nom et l'adresse de la ressource et est utilisé lorsque le client WWW accède aux ressources Internet. Il existe deux manières de déterminer la position d'une image : la position absolue et la position relative. Les méthodes pour obtenir des positions relatives sont :
URL getCodeBase(), récupère l'emplacement du fichier applet.
URL getDocumentBase(), récupère l'emplacement du fichier HTML.
Par exemple, codez :
URL picURLA = nouvelle URL(getDocumentBase(),"imageSample1.gif"), picURLB = nouvelle URL(getDocumentBase(),"images/imageSample.gif"); imageA = getImage(picURLA), imageB = getImage(picURLB);
Les méthodes pour obtenir des informations sur l'image (attributs) sont :
getWidth (ImageObserver observer) : récupère la largeur ;
getHeight (ImageObserver observer) : obtenez la hauteur.
Le code de sortie des images est écrit dans la méthode paint(). Il existe 4 façons d'afficher les images :
boolean drawImage (Image img, int x, int y, observateur ImageObserver) boolean drawImage (Image img, int x, int y, couleur bgcolor, ImageObserver observateur) boolean drawImage (Image img, int x, int y, int largeur, int hauteur ,Observateur ImageObsever)boolean drawImage(Image img,int x,int y,int largeur, hauteur int, couleur bgcolor, observateur ImageObsever)
Le paramètre img est l'objet Image. Lorsque la taille de l'image est différente, l'image affichée sera mise à l'échelle.
La classe Applet implémente également l'interface ImageObserver, qui est souvent utilisée comme paramètre réel. Voir le code et les commentaires suivants :
(1) g.drawImage(image1,0,0,this);//Affichage de l'image originale
(2) g.drawImage(image2,10,10,Color.red,this);//Affichage graphique et couleur d'arrière-plan Remarque : Si la taille de l'image originale est différente de la plage donnée, le système mettra automatiquement à l'échelle
(3) g.drawImage(labImag,0,0,this);//Affichage de l'image originale
(4) g.grawImage(labImag,0,120,100,100,this);//affichage zoom
(5) g.grawImage(labImag,0,240,500,100,this);//Affichage du zoom
[Exemple] Une petite application utilise la méthode init() ou start() pour télécharger (obtenir) une image, et utilise la méthode paint() pour afficher l'image obtenue.
import java.applet.*;import java.awt.*;public class Exemple7_5 extends Applet{ Image myImag; public void start(){ myImag = getImage(getCodeBase(),"myPic.jpg" } public void paint(Graphics) g){ g.drawImage(myImg,2,2,this }});Comme aucune méthode getImage() n'est fournie dans les classes telles que Frame, JFrame et JPanel, elles doivent utiliser la classe abstraite Toolkit dans java.awt.Toolkit pour charger des images, qui dispose de méthodes pour charger des fichiers image :
De cette manière, divers composants peuvent utiliser la méthode getToolkit() pour obtenir l'objet Toolkit, puis afficher l'image via l'objet Toolkit dans la méthode paint() du composant. Le code suivant illustre une telle utilisation :
Outil de boîte à outils = getToolkit (); URL url = nouvelle URL (http://www.weixueyuan.net/image.gif) Image img = outil.getImage (url);
Les composants peuvent également utiliser la méthode statique getDefaultToolkit() fournie par Toolkit pour obtenir un objet Toolkit par défaut et l'utiliser pour charger des images. À l’heure actuelle, le code pour charger l’image s’écrit souvent ainsi :
Image img = Toolkit.getDefaultToolkit().getImage(url);