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");
} |
Partager