Dans cette fiche... |
Difficulté : ![]() |
Résultat |
Cette applet est une variante
de Image1.class.
Elle charge 2 images (une image principale et une image de fond), et les affiche en superposition. |
// -------------------------------------------------- // Image2 // Chargement d'images en Java // --------------------------------------------------
import java.applet.*; import java.awt.*;
public class Image2 extends Applet { // Buffer pour l'image de fond Image fond;
// Buffer pour l'image principale Image im;
// -------------------------------------------------- // INITIALISATION DE L'APPLET // --------------------------------------------------
public void init() { // Couleur de fond de l'applet en blanc setBackground(Color.white);
// Chargement de l'image de fond fond = getImage(getCodeBase(), "bkgGrisRelief.gif");
// Chargement de l'image principale im = getImage(getCodeBase(), "smiley.gif"); }
// -------------------------------------------------- // AFFICHAGE // --------------------------------------------------
public void paint(Graphics g) { // Dessin de l'image de fond g.drawImage(fond, 0, 0, this);
// On dessine l'image en x=0 et y=0 g.drawImage(im, 0, 0, this);
// Idem, en x=130 et y = 20 g.drawImage(im, 130, 20, this); } }
// Buffer pour l'image de fond Image fond; // Buffer pour l'image principale Image im; |
On crée 2 objets de type Image, qui serviront à stocker et à manipuler l'image de fond et l'image principale. |
// Chargement de l'image de fond fond = getImage(getCodeBase(), "bkgGrisRelief.gif"); // Chargement de l'image principale im = getImage(getCodeBase(), "smiley.gif"); |
Charger les 2 images. Les 2 images sont stockées au même endroit que l'applet Image2.class, ce qui explique l'utilisation de getCodeBase(). Pour plus de précisions, cliquez ici. |
// Dessin de l'image de fond g.drawImage(fond, 0, 0, this); |
On dessine d'abord le fond. Celui-ci ne fait volontairement que 100x100 pixels. Il ne couvre donc pas toute l'applet. On voit mieux ainsi la superposition des images. Pour mieux intégrer l'image dans la page HTML, il suffirait de charger comme fond d'applet l'image de fond de la page HTML. |
// On dessine l'image en x=0 et y=0 g.drawImage(im, 0, 0, this); // Idem, en x=130 et y = 20 g.drawImage(im, 130, 20, this); |
On dessine maintenant l'image du Smiley (2 fois). Le Smiley a été enregistré comme GIF transparent, ce qui explique pourquoi on voit l'image de fond derrière. |
Voici le code qui a été utilisé dans cette page HTML pour faire apparaître l'applet :
<applet code="Image2.class" width=250 height=90> Votre navigateur n'est pas compatible Java ! </applet>
Pour plus de précisions sur l'intégration d'une applet, cliquez ici.