Uma imagem é uma imagem composta por um grupo de pixels e armazenada em formato binário. A linguagem Java suporta três formatos principais de arquivo de imagem: GIF, JPEG e BMP. A função de processamento de imagem da linguagem java é encapsulada na classe Image.
Carregamento e saída de imagem
Em um programa Java, imagens também são objetos, portanto, ao carregar uma imagem, você deve primeiro declarar o objeto Image e, em seguida, usar o método getImage() para associar o objeto Image ao arquivo de imagem. Existem duas maneiras de carregar arquivos de imagem:
Image getImage (URL url), url especifica o local e o nome do arquivo da imagem.
Image getImage(URL url,String name), url especifica a localização da imagem e name é o nome do arquivo.
Por exemplo, o código a seguir declara um objeto Image e usa o objeto getImage() para associá-lo ao arquivo de imagem:
Imagem img = getImage(getCodeBase(),"family.jpg");
O objeto URL (uniform Resource Location Uniform Resource Locator) é usado para identificar o nome e endereço do recurso e é usado quando o cliente WWW acessa recursos da Internet. Existem duas maneiras de determinar a posição de uma imagem: posição absoluta e posição relativa. Os métodos para obter posições relativas são:
URL getCodeBase(), obtém a localização do arquivo do miniaplicativo.
URL getDocumentBase(), obtém a localização do arquivo HTML.
Por exemplo, código:
URL picURLA = nova URL(getDocumentBase(),"imageSample1.gif"), picURLB = nova URL(getDocumentBase(),"pictures/imageSample.gif");
Os métodos para obter informações (atributos) da imagem são:
getWidth (observador ImageObserver): obtém a largura;
getHeight (observador ImageObserver): Obtenha a altura.
O código para saída de imagens é escrito no método paint(). Existem 4 maneiras de exibir imagens:
boolean drawImage (imagem img, int x, int y, observador ImageObserver) boolean drawImage (imagem img, int x, int y, cor bgcolor, observador ImageObserver) boolean drawImage (imagem img, int x, int y, largura int, altura int ,ImageObsever observador)boolean drawImage(Imagem img,int x,int y,int largura, altura interna, cor bgcolor, observador ImageObsever)
O parâmetro img é o objeto Imagem. Quando o tamanho da imagem for diferente, a imagem exibida será dimensionada.
A classe Applet também implementa a interface ImageObserver, e esta é frequentemente usada como um parâmetro real. Veja o seguinte código e comentários:
(1) g.drawImage(image1,0,0,this);//Exibição da imagem original
(2) g.drawImage(image2,10,10,Color.red,this); //Gráfico mais exibição da cor de fundo Nota: Se o tamanho da imagem original for diferente do intervalo fornecido, o sistema será dimensionado automaticamente
(3) g.drawImage(labImag,0,0,this);//Exibição da imagem original
(4) g.grawImage(labImag,0,120,100,100,this);//exibição de zoom
(5) g.grawImage(labImag,0,240,500,100,this);//Exibição de zoom
[Exemplo] Um pequeno aplicativo usa o método init() ou start() para baixar (obter) uma imagem e usa o método paint() para exibir a imagem obtida.
import java.applet.*;import java.awt.*;classe pública Exemplo7_5 estende Applet{ Imagem myImag; public void start(){ myImag = getImage(getCodeBase(),"myPic.jpg"); g){ g.drawImage(myImg,2,2,this }}Como não há método getImage() fornecido em classes como Frame, JFrame e JPanel, eles precisam usar a classe abstrata Toolkit em java.awt.Toolkit para carregar imagens, que possui métodos para carregar arquivos de imagem:
Dessa forma, vários componentes podem usar o método getToolkit() para obter o objeto Toolkit e, em seguida, exibir a imagem por meio do objeto Toolkit no método paint() do componente. O código a seguir ilustra esse uso:
Ferramenta do kit de ferramentas = getToolkit(); URL url = novo URL (http://www.weixueyuan.net/image.gif);
Os componentes também podem usar o método estático getDefaultToolkit() fornecido pelo Toolkit para obter um objeto padrão do Toolkit e usá-lo para carregar imagens. Neste momento, o código para carregar a imagem geralmente é escrito assim:
Imagem img = Toolkit.getDefaultToolkit().getImage(url);