Gambar adalah gambar yang terdiri dari sekelompok piksel dan disimpan dalam bentuk biner. Bahasa Java mendukung tiga format file gambar utama: GIF, JPEG dan BMP. Fungsi pemrosesan gambar bahasa java dienkapsulasi dalam kelas Image.
Pemuatan dan keluaran gambar
Dalam program Java, gambar juga merupakan objek, jadi saat memuat gambar, Anda harus mendeklarasikan objek Gambar terlebih dahulu, lalu menggunakan metode getImage() untuk mengaitkan objek Gambar dengan file gambar. Ada dua cara untuk memuat file gambar:
Gambar getImage(URL url), url menentukan lokasi dan nama file gambar.
Gambar getImage (URL url, Nama string), url menentukan lokasi gambar, dan nama adalah nama file.
Misalnya, kode berikut mendeklarasikan objek Gambar dan menggunakan objek getImage() untuk mengaitkannya dengan file gambar:
Gambar img = getImage(getCodeBase(),"family.jpg");
Objek URL (uniform Resource Location Uniform Resource Locator) digunakan untuk mengidentifikasi nama dan alamat sumber daya dan digunakan ketika klien WWW mengakses sumber daya Internet. Ada dua cara untuk menentukan posisi suatu bayangan: posisi absolut dan posisi relatif. Cara untuk memperoleh posisi relatif adalah:
URL getCodeBase(), dapatkan lokasi file applet.
URL getDocumentBase(), dapatkan lokasi file HTML.
Misalnya kode:
URL picURLA = URL baru(getDocumentBase(),"imageSample1.gif"), picURLB = URL baru(getDocumentBase(),"pictures/imageSample.gif");
Cara memperoleh informasi gambar (atribut) adalah:
getWidth(Pengamat ImageObserver): Dapatkan lebarnya;
getHeight(Pengamat ImageObserver): Dapatkan ketinggiannya.
Kode untuk mengeluarkan gambar ditulis dalam metode paint(). Ada 4 cara untuk menampilkan gambar:
boolean drawImage(Gambar img,int x,int y,pengamat ImageObserver)boolean drawImage(Gambar img,int x,int y,Warna bgcolor,pengamat ImageObserver)boolean drawImage(Gambar img,int x,int y,int lebar,int tinggi ,pengamat ImageObsever)boolean drawImage(Gambar img,int x,int y,int lebar, tinggi int, Warna bgcolor, pengamat ImageObsever)
Parameter img adalah objek Gambar. Jika ukuran gambar berbeda, gambar yang ditampilkan akan diperbesar.
Kelas Applet juga mengimplementasikan antarmuka ImageObserver, dan ini sering digunakan sebagai parameter sebenarnya. Lihat kode dan komentar berikut:
(1) g.drawImage(image1,0,0,this);//Tampilan gambar asli
(2) g.drawImage(image2,10,10,Color.red,this);//Tampilan grafis plus warna latar belakang Catatan: Jika ukuran gambar asli berbeda dari rentang yang diberikan, sistem akan secara otomatis menskalakan
(3) g.drawImage(labImag,0,0,this);//Tampilan gambar asli
(4) g.grawImage(labImag,0,120,100,100,ini);//memperbesar tampilan
(5) g.grawImage(labImag,0,240,500,100,ini);//Memperbesar tampilan
[Contoh] Aplikasi kecil menggunakan metode init() atau start() untuk mengunduh (mendapatkan) gambar, dan menggunakan metode paint() untuk menampilkan gambar yang diperoleh.
import java.applet.*;import java.awt.*;public class Contoh7_5 extends Applet{ Gambar myImag; public void start(){ myImag = getImage(getCodeBase(),"myPic.jpg" } public void paint(Graphics g){ g.drawImage(Img saya,2,2,ini }}Karena tidak ada metode getImage() yang disediakan di kelas seperti Frame, JFrame dan JPanel, mereka perlu menggunakan kelas abstrak Toolkit di java.awt.Toolkit untuk memuat gambar, yang memiliki metode untuk memuat file gambar:
Dengan cara ini, berbagai komponen dapat menggunakan metode getToolkit() untuk mendapatkan objek Toolkit, dan kemudian menampilkan gambar melalui objek Toolkit dalam metode paint() komponen. Kode berikut menggambarkan penggunaan tersebut:
Alat Toolkit = getToolkit(); URL URL = URL baru(http://www.weixueyuan.net/image.gif); Gambar img = tool.getImage(url);
Komponen juga dapat menggunakan metode statis getDefaultToolkit() yang disediakan oleh Toolkit untuk mendapatkan objek Toolkit default dan menggunakannya untuk memuat gambar. Saat ini, kode untuk memuat gambar sering ditulis seperti ini:
Gambar img = Toolkit.getDefaultToolkit().getImage(url);