1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| // redimensionner Image
Variant vMSWIAImageProcess, vMSWIAImageFile;
// Création conteneur pour l'image à manipuler
vMSWIAImageFile = Variant::CreateObject("WIA.ImageFile");
// Création du gestionnaire de filtre
vMSWIAImageProcess = Variant::CreateObject("WIA.ImageProcess");
// Chargement de l'image dans le conteneur
vMSWIAImageFile.OleFunction("LoadFile", "C:\\Documents and Settings\\toto\\Mes documents\\Mes images\\imageOrigine.bmp");
// Ajoute le filtre pour redimensionner l'image (Scale)
vMSWIAImageProcess.OlePropertyGet("Filters").OleProcedure("Add", (vMSWIAImageProcess.OlePropertyGet("FilterInfos", "Scale").OlePropertyGet("FilterID")));
// Définit la largeur maxi pour le redimensionnement
vMSWIAImageProcess.OlePropertyGet("Filters", 1).OlePropertySet("Properties", "MaximumWidth", 90);
// Définit la hauteur maxi pour le redimensionnement
vMSWIAImageProcess.OlePropertyGet("Filters", 1).OlePropertySet("Properties", "MaximumHeight", 90);
// remarque :
// Les proportions sont conservées. Le filtre prend en compte
// les ratios et adapte la taille pour ne pas dépasser les valeurs maxi définies.
// Application du filtre à l'image
vMSWIAImageFile = vMSWIAImageProcess.OleFunction("Apply", vMSWIAImageFile);
// Enregistre l'image redimensionnée
vMSWIAImageFile.OleFunction("SaveFile", "C:\\Documents and Settings\\toto\\Mes documents\\Mes images\\imageFinale.bmp"); |
Partager