Bonjours
Voici comment redimensionner une image a l'aide de WIA suite a ce tuto et ce post
Le code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 // #include <utilcls.h> // <---------ne pas oublier void __fastcall TForm1::Button6Click(TObject *Sender) { // 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\\blondelle\\Mes documents\\Mes images\\YourBmpHere.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\\blondelle\\Mes documents\\Mes images\\fourmizThumbnail.jpg"); }
Partager