English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Java 基礎教程

Controllo dei flussi di lavoro di Java

Array di Java

Java orientata agli oggetti (I)

Java orientata agli oggetti (II)

Java orientata agli oggetti (III)

Java 異常處理

List di Java

Queue (Coda) di Java

Map di Java

Set di Java

Input/Output (I/O) di Java

Reader/Writer di Java

Altri argomenti di Java

API delle immagini a risoluzione multipla di Java 9

Nuove funzionalità Java 9

L'API delle immagini a risoluzione multipla definita in Java 9 permette agli sviluppatori di gestire e visualizzare facilmente immagini con diverse risoluzioni.

Di seguito sono riportati i principali metodi di operazione delle immagini a risoluzione multipla:

  • Image getResolutionVariant(double destImageWidth, double destImageHeight) − Ottiene una variante di risoluzione specifica dell'immagine - rappresenta un'immagine logica di dimensioni specifiche con una risoluzione DPI nota e questa immagine è la variante migliore.

  • List<Image> getResolutionVariants() − Restituisce una lista di varianti di risoluzione delle immagini leggibili.

import java.io.IOException;
import java.net.URL;
import java.net.MalformedURLException;
import java.util.ArrayList;
import java.util.List;
import java.awt.Image;
import java.awt.image.MultiResolutionImage;
import java.awt.image.BaseMultiResolutionImage;
 
import javax.imageio.ImageIO;
 
public class Tester {
   public static void main(String[] args) throws IOException, MalformedURLException {
 
      List<String> imgUrls = List.of("http://it.oldtoolbag.com/wp-content/themes/w3codebox/assets/img/[email protected]",
         "http://it.oldtoolbag.com/wp-content/themes/w3codebox/assets/img/w3codebox-logo.png"
         "http://it.oldtoolbag.com/wp-content/themes/w3codebox/assets/images/qrcode.png"
 
      List<Image> images = new ArrayList<Image>();
 
      for (String url : imgUrls) {
         images.add(ImageIO.read(new URL(url)));
      {}
 
      // Leggere tutte le immagini
      MultiResolutionImage multiResolutionImage = 
         new BaseMultiResolutionImage(images.toArray(new Image[0]));
 
      // Ottenere tutte le risoluzioni dell'immagine
      List<Image> variants = multiResolutionImage.getResolutionVariants();
 
      System.out.println("Numero totale di immagini: " + variants.size());
 
      for (Image img : variants) {
         System.out.println(img);
      {}
 
      // Ottenere la risoluzione dell'immagine corrispondente a diverse dimensioni
      Image variant1 = multiResolutionImage.getResolutionVariant(156, 45);
      System.out.printf("\nImmagine per destinazione[%d,%d]: [%d,%d]," 
         156, 45, variant1.getWidth(null), variant1.getHeight(null));
 
      Image variant2 = multiResolutionImage.getResolutionVariant(311, 89);
      System.out.printf("\nImmagine per destinazione[%d,%d]: [%d,%d]," 
         variant2.getWidth(null), variant2.getHeight(null));
 
      Image variant3 = multiResolutionImage.getResolutionVariant(622, 178);
      System.out.printf("\nImmagine per destinazione[%d,%d]: [%d,%d],", 622, 178, 
         variant3.getWidth(null), variant3.getHeight(null));
 
      Image variant4 = multiResolutionImage.getResolutionVariant(300, 300);
      System.out.printf("\nImmagine per destinazione[%d,%d]: [%d,%d],", 300, 300, 
         variant4.getWidth(null), variant4.getHeight(null));
   {}  
{}

Nuove funzionalità Java 9