Ein Bild ist ein Bild, das aus einer Gruppe von Pixeln besteht und in binärer Form gespeichert wird. Die Java-Sprache unterstützt drei Hauptbilddateiformate: GIF, JPEG und BMP. Die Bildverarbeitungsfunktion der Java-Sprache ist in der Image-Klasse gekapselt.
Laden und Ausgeben von Bildern
In einem Java-Programm sind Bilder auch Objekte. Wenn Sie also ein Bild laden, müssen Sie zuerst das Image-Objekt deklarieren und dann die Methode getImage() verwenden, um das Image-Objekt mit der Bilddatei zu verknüpfen. Es gibt zwei Möglichkeiten, Bilddateien zu laden:
Bild getImage(URL URL), URL gibt den Speicherort und den Dateinamen des Bildes an.
Bild getImage(URL url,String name), url gibt den Speicherort des Bildes an und name ist der Dateiname.
Der folgende Code deklariert beispielsweise ein Image-Objekt und verknüpft es mithilfe des getImage()-Objekts mit der Bilddatei:
Bild img = getImage(getCodeBase(),"family.jpg");
Das URL-Objekt (Uniform Resource Location Uniform Resource Locator) dient zur Identifizierung des Namens und der Adresse der Ressource und wird verwendet, wenn der WWW-Client auf Internetressourcen zugreift. Es gibt zwei Möglichkeiten, die Position eines Bildes zu bestimmen: absolute Position und relative Position. Zu den Methoden zur Ermittlung relativer Positionen gehören:
URL getCodeBase(), den Speicherort der Applet-Datei abrufen.
URL getDocumentBase(), ruft den Speicherort der HTML-Datei ab.
Beispielcode:
URL picURLA = neue URL(getDocumentBase(),"imageSample1.gif"), picURLB = neue URL(getDocumentBase(),"pictures/imageSample.gif");
Methoden zum Erhalten von Bildinformationen (Attributen) sind:
getWidth(ImageObserver Observer): Ermittelt die Breite;
getHeight(ImageObserver Observer): Ermittelt die Höhe.
Der Code zum Ausgeben von Bildern ist in der Methode paint() geschrieben. Es gibt 4 Möglichkeiten, Bilder anzuzeigen:
boolean drawImage(Image img,int x,int y,ImageObserver Observer)boolean drawImage(Image img,int x,int y,Color bgcolor,ImageObserver Observer)boolean drawImage(Image img,int x,int y,int width,int height ,ImageObsever Observer)boolean drawImage(Image img,int x,int y,int width,int height,Color bgcolor,ImageObsever Observer)
Der Parameter img ist das Bildobjekt Wo das Bild angezeigt wird Wenn dieser Bereich unterschiedlich groß ist, wird das angezeigte Bild skaliert.
Die Applet-Klasse implementiert auch die ImageObserver-Schnittstelle, die häufig als tatsächlicher Parameter verwendet wird. Siehe den folgenden Code und die Kommentare:
(1) g.drawImage(image1,0,0,this);// Originalbildanzeige
(2) g.drawImage(image2,10,10,Color.red,this);//Grafik plus Hintergrundfarbanzeige Hinweis: Wenn die Größe des Originalbildes vom angegebenen Bereich abweicht, skaliert das System automatisch
(3) g.drawImage(labImag,0,0,this);// Originalbildanzeige
(4) g.grawImage(labImag,0,120,100,100,this);//Zoomanzeige
(5) g.grawImage(labImag,0,240,500,100,this);//Zoom-Anzeige
[Beispiel] Eine kleine Anwendung verwendet die Methode init() oder start(), um ein Bild herunterzuladen (zu erhalten) und verwendet die Methode paint(), um das erhaltene Bild anzuzeigen.
import java.applet.*;import java.awt.*;public class example7_5 erweitert Applet{ Image myImag; public void start(){ myImag = getImage(getCodeBase(),"myPic.jpg" } public void paint(Graphics g){ g.drawImage(myImg,2,2,this }}Da in Klassen wie Frame, JFrame und JPanel keine getImage()-Methode bereitgestellt wird, müssen sie zum Laden von Bildern die abstrakte Klasse Toolkit in java.awt.Toolkit verwenden, die über Methoden zum Laden von Bilddateien verfügt:
Auf diese Weise können verschiedene Komponenten die Methode getToolkit () verwenden, um das Toolkit-Objekt abzurufen, und das Bild dann über das Toolkit-Objekt in der Methode paint () der Komponente anzeigen. Der folgende Code veranschaulicht eine solche Verwendung:
Toolkit tool = getToolkit(); URL url = neue URL(http://www.weixueyuan.net/image.gif);
Komponenten können auch die von Toolkit bereitgestellte statische Methode getDefaultToolkit() verwenden, um ein Standard-Toolkit-Objekt abzurufen und es zum Laden von Bildern zu verwenden. Derzeit wird der Code zum Laden des Bildes häufig wie folgt geschrieben:
Bild img = Toolkit.getDefaultToolkit().getImage(url);