Class ConverterController
java.lang.Object
fr.iutfbleau.sae.ConverterController
Controleur pour la conversion d'images au format PIF.
Gere le chargement des images, le calcul des frequences,
la generation des codes de Huffman et la sauvegarde au format PIF.
-
Constructor Summary
ConstructorsConstructorDescriptionConverterController(ConverterWindow fen, String in, String out) Construit un nouveau controleur de conversion. -
Method Summary
Modifier and TypeMethodDescriptionvoidGenere les codes canoniques a partir des codes de Huffman.voidCalcule les frequences d'apparition de chaque valeur RGB dans l'image.voidGenere les arbres de Huffman pour chaque composante RGB.voidLance le processus complet de conversion d'une image au format PIF.getImage()Retourne l'image actuellement chargee.voidCharge une image depuis un fichier et la convertit en RGBImage.voidSauvegarde l'image au format PIF.voidGere la sauvegarde via le bouton de l'interface.
-
Constructor Details
-
ConverterController
Construit un nouveau controleur de conversion.- Parameters:
fen- la fenetre de l'interface graphiquein- le chemin du fichier d'entree (peut etre null)out- le chemin du fichier de sortie (peut etre null)
-
-
Method Details
-
loadImage
Charge une image depuis un fichier et la convertit en RGBImage. Extrait les composantes RGB de chaque pixel et met a jour l'interface.- Parameters:
file- le fichier image a charger
-
computeFrequencies
public void computeFrequencies()Calcule les frequences d'apparition de chaque valeur RGB dans l'image. Met a jour l'interface avec les tables de frequences calculees. -
computeHuffman
public void computeHuffman()Genere les arbres de Huffman pour chaque composante RGB. Cree les codes binaires optimaux bases sur les frequences calculees. Met a jour l'interface avec les codes de Huffman generes. -
computeCanonical
public void computeCanonical()Genere les codes canoniques a partir des codes de Huffman. Les codes canoniques sont une forme normalisee des codes de Huffman qui facilite le stockage et le decodage. Met a jour l'interface avec les codes canoniques generes. -
saveAsPIF
Sauvegarde l'image au format PIF. Verifie que l'image et les codes canoniques sont disponibles avant d'effectuer la sauvegarde.- Parameters:
pathfile- le chemin du fichier de sortie
-
saveViaBtn
public void saveViaBtn()Gere la sauvegarde via le bouton de l'interface. Si un chemin de sortie est defini, sauvegarde directement. Sinon, ouvre un selecteur de fichier pour que l'utilisateur choisisse l'emplacement de sauvegarde. La sauvegarde est effectuee dans un thread separe pour ne pas bloquer l'interface graphique. -
conversionProcess
public void conversionProcess()Lance le processus complet de conversion d'une image au format PIF. Etapes : 1. Chargement de l'image (depuis un fichier ou via selecteur) 2. Calcul des frequences 3. Generation des codes de Huffman 4. Generation des codes canoniques 5. Sauvegarde (automatique ou via bouton selon les parametres) -
getImage
Retourne l'image actuellement chargee.- Returns:
- l'image RGB chargee, ou null si aucune image n'est chargee
-