Class ImageProcessor

java.lang.Object
fr.univ_eiffel.legotools.image.ImageProcessor

public class ImageProcessor extends Object
Chef d'orchestre du traitement d'image.

Cette classe joue le rôle de Contexte dans le patron de conception Stratégie. Elle isole la complexité des entrées/sorties (lecture de fichier, format, sauvegarde) de la complexité algorithmique (calcul des pixels).

  • Constructor Summary

    Constructors
    Constructor
    Description
    Par défaut, on utilise la stratégie la plus rapide ("Plus proche voisin") pour éviter un NullPointerException si l'utilisateur oublie de configurer.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    processImage(String inputPath, String outputPath, int targetWidth, int targetHeight)
    Exécute le pipeline complet de traitement.
    void
    Permet de changer l'algorithme de redimensionnement à la volée (Runtime).

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • ImageProcessor

      public ImageProcessor()
      Par défaut, on utilise la stratégie la plus rapide ("Plus proche voisin") pour éviter un NullPointerException si l'utilisateur oublie de configurer.
  • Method Details

    • setStrategy

      public void setStrategy(ResolutionStrategy strategy)
      Permet de changer l'algorithme de redimensionnement à la volée (Runtime).
      Parameters:
      strategy - Une instance concrète (Bilinear, Bicubic, etc.).
    • processImage

      public void processImage(String inputPath, String outputPath, int targetWidth, int targetHeight) throws IOException
      Exécute le pipeline complet de traitement.

      1. Charge l'image depuis le disque (I/O).
      2. Délègue le redimensionnement à la stratégie active (Logique métier).
      3. Sauvegarde le résultat au bon format (I/O).

      Parameters:
      inputPath - Chemin vers l'image source.
      outputPath - Chemin de destination.
      targetWidth - Largeur souhaitée.
      targetHeight - Hauteur souhaitée.
      Throws:
      IOException - Si le fichier est introuvable ou illisible.