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

Tutoriel de base Java

Contrôle de flux Java

Java Tableau

Java Programmation orientée objet (I)

Java Programmation orientée objet (II)

Java Programmation orientée objet (III)

Gestion des exceptions Java

Java Liste (List)

Java Queue (filet)

Java Map

Java Set

Java Entrée/Sortie (I/O)

Java Reader/Writer

Autres sujets Java

Java 9 API d'image à résolution multiple

Java 9 New features

Java 9 Définir une API d'image à résolution multiple, les développeurs peuvent facilement manipuler et afficher des images de différentes résolutions.

Voici les principales méthodes d'opérations des images à résolution multiple :

  • Image getResolutionVariant(double destImageWidth, double destImageHeight) − Obtient une variante d'image de résolution spécifique-représente une image logique de taille spécifique connue pour une résolution DPI et cette image est la meilleure variante.

  • List<Image> getResolutionVariants() − Retourne une liste de variantes d'images à résolution lisible.

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://fr.oldtoolbag.com/wp-content/themes/w3codebox/assets/img/[email protected]",
         "http://fr.oldtoolbag.com/wp-content/themes/w3codebox/assets/img/w3codebox-logo.png",
         "http://fr.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)));
      }
 
      // lire toutes les images
      MultiResolutionImage multiResolutionImage = 
         new BaseMultiResolutionImage(images.toArray(new Image[0]));
 
      // Get all the resolutions of the image
      List<Image> variants = multiResolutionImage.getResolutionVariants();
 
      System.out.println("Total number of images: " + variants.size());
 
      for (Image img : variants) {
         System.out.println(img);
      }
 
      // Get the corresponding image resolution for different sizes
      Image variant1 = multiResolutionImage.getResolutionVariant(156, 45);
      System.out.printf("\nImage for destination[%d,%d]: [%d,%d]," 
         156, 45, variant1.getWidth(null), variant1.getHeight(null));
 
      Image variant2 = multiResolutionImage.getResolutionVariant(311, 89);
      System.out.printf("\nImage for destination[%d,%d]: [%d,%d]," 311, 89, 
         variant2.getWidth(null), variant2.getHeight(null));
 
      Image variant3 = multiResolutionImage.getResolutionVariant(622, 178);
      System.out.printf("\nImage for destination[%d,%d]: [%d,%d]," 622, 178, 
         variant3.getWidth(null), variant3.getHeight(null));
 
      Image variant4 = multiResolutionImage.getResolutionVariant(300, 300);
      System.out.printf("\nImage for destination[%d,%d]: [%d,%d]," 300, 300, 
         variant4.getWidth(null), variant4.getHeight(null));
   }  
}

Java 9 New features