Classe Imagem do JavaFX

A imagem é um arquivo que contém uma imagem. Java suporta imagens em vários formatos, incluindo .jpg, .png, .gif, e .bmp. Para incorporar imagens em seus aplicativos, você precisa usar duas classes: Imagem e ImageView. o Imagem classe representa uma imagem na memória, enquanto que o ImageView classe é um que você pode adicionar a um grafo de cena para exibir uma Imagem na tela.

Ambas essas classes estão no pacote javafx.scene.image, então você precisa adicionar a seguinte declaração aos seus programas:

importar javafx.scene.image. * -

Para carregar uma imagem a partir de uma fonte externa, como um arquivo de disco ou um local de web, utilizar o Imagem classe. Essa classe tem seis construtores, detalhados nesta tabela.

A Classe de imagem
ConstrutorDescrição
Imagem (InputStream in)Cria uma imagem através da leitura do inputstream especificado.
Imagem (InputStream in, largura dupla, doubleheight, boolean preserveRatio, boolean liso)Cria uma imagem através da leitura do fluxo de entrada especificado andresizes lo de acordo com a largura e altura que você especificar. preserveRatio indica se o aspectRatio da imagem original deve ser preservada, e suave indica se suavização da imagem shouldbe aplicada.
Imagem (url String)Cria uma imagem através da leitura a partir do URL especificado.
Imagem (String url, booleanbackgroundLoading)Cria uma imagem através da leitura a partir do URL especificado. Se backgroundLoading é verdade, a imagem é carregada no fundo (ou seja, em um segmento separado).
Imagem (url String, largura dupla, doubleheight, boolean preserveRatio, boolean liso)Cria uma imagem através da leitura a partir do URL especificado. Thisconstructor especifica a largura e a altura da imageand resultante indica se a relação entre a imagem original shouldbe preservada e se alisamento imagem aspecto deve ser aplicada.
Imagem (url String, largura dupla, doubleheight, boolean preserveRatio, boolean suave, booleanbackgroundLoading)Cria uma imagem através da leitura do caminho web especificado andresizes lo de acordo com a largura e altura que você especificar. preserveRatio indica se o aspectRatio da imagem original deve ser preservada, e suave indica se suavização da imagem shouldbe aplicada. E se backgroundLoading É verdade, a imagem é carregada no fundo (ou seja, em um segmento separado).

A maneira mais fácil de carregar uma imagem é fazê-lo directamente a partir de um arquivo em seu computador local, especificando um caminho de arquivo na Imagem construtor. A seqüência de caracteres caminho do arquivo deve ser precedido pela string protocol Arquivo:. Por exemplo, o seguinte construtor cria um objeto de imagem a partir de um arquivo chamado pic001.jpg na pasta C: Pictures:

img imagem = new imagem ( "file: C: Pictures pic001.jpg") -

Você também pode especificar um local web usando o http: protocolo, como neste exemplo:

img imagem = new imagem ( "https://domain.com/pic001.jpg") - 

Observe no exemplo da web que você não tem que dobrar as barras porque endereços HTTP usar barras, e não barras invertidas.

Em muitos casos, você quer carregar uma imagem de um objeto File. Para fazer isso, use o Arquivo o objetivo de touri método para obter o caminho correto do arquivo. Nota:touri retorna um objeto do tipo URI- você deve, em seguida, chamar getString para converter o URI para uma string:

Arquivo f = new File ( "C: Pictures pic001.jpg") - img Imagem = new Imagem (f.toURI toString () ().) -

Aqui, um arquivo é criado a partir do caminho C: Pictures pic001.jpg. Em seguida, uma imagem é criada a partir do arquivo.

Quando você cria uma Imagem objeto, você pode especificar que a imagem deve ser redimensionada, fornecendo os parâmetros de largura e altura. Você também precisará fornecer dois boolean argumentos.

O primeiro especifica se você deseja JavaFX para preservar a relação de aspecto da imagem (isto é, a relação entre largura e altura). Se você especificar verdade, a imagem pode conter áreas em branco acima e abaixo ou à esquerda e à direita, conforme necessário para preservar a relação de aspecto da imagem. Se você especificar falso, a imagem pode ser distorcida.

O segundo boolean argumento especifica se você deseja JavaFX para aplicar um algoritmo de suavização para melhorar a clareza da imagem. O processo de suavização faz com que a imagem pareça melhor, mas leva tempo.

Finalmente, você pode especificar um terceiro opcional boolean argumento de que indica que você deseja que a imagem a ser carregada no fundo. Isso faz com que o processo de carregamento da imagem a ser cindida para um segmento separado para que o seu segmento principal aplicativo pode continuar sem esperar que a imagem a ser carregada.

menu