Package fr.univ_eiffel.legotools.image
Class ImageProcessor
java.lang.Object
fr.univ_eiffel.legotools.image.ImageProcessor
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
ConstructorsConstructorDescriptionPar 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 TypeMethodDescriptionvoidprocessImage(String inputPath, String outputPath, int targetWidth, int targetHeight) Exécute le pipeline complet de traitement.voidsetStrategy(ResolutionStrategy strategy) Permet de changer l'algorithme de redimensionnement à la volée (Runtime).
-
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
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.
-