Voici comment couper rogner une image avec 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
30
31
32
33
34
35
36
 
// #include <utilcls.h> // <---------ne pas oublier
 
void __fastcall TForm1::Button9Click(TObject *Sender)
{
// couper 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\\Grue_Atelier.jpg");
 
// Ajoute le filtre pour Couper/Rogner l'image (Crop)
vMSWIAImageProcess.OlePropertyGet("Filters").OleProcedure("Add", (vMSWIAImageProcess.OlePropertyGet("FilterInfos", "Crop").OlePropertyGet("FilterID")));
// La coupe sera effectuée à l'intérieur du cadre défini ci dessous:
// **********
// definit la position à partir du bord gauche pour la coupe
vMSWIAImageProcess.OlePropertyGet("Filters", 1).OlePropertySet("Properties", "Left", 0);
// definit la position à partir du bord supérieur pour la coupe
vMSWIAImageProcess.OlePropertyGet("Filters", 1).OlePropertySet("Properties", "Top", 0);
// definit la position à partir du bord droit pour la coupe
vMSWIAImageProcess.OlePropertyGet("Filters", 1).OlePropertySet("Properties", "Right", (vMSWIAImageFile.OlePropertyGet("Width") / 3));
// definit la position à partir du bord inférieur pour la coupe
vMSWIAImageProcess.OlePropertyGet("Filters", 1).OlePropertySet("Properties", "Bottom", (vMSWIAImageFile.OlePropertyGet("Height") / 3));
 
// application du filtre
vMSWIAImageFile = vMSWIAImageProcess.OleFunction("Apply", vMSWIAImageFile);
 
// Sauvegarde de la nouvelle image
vMSWIAImageFile.OleFunction("SaveFile", "C:\\Documents and Settings\\blondelle\\Mes documents\\Mes images\\sauvegarde_Image_Coupee.JPG");
}