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::Button7Click(TObject *Sender)
{
// combiner Deux Images
Variant vMSWIAImageProcess, vMSWIAImageFile1, vMSWIAImageFile2;
// Création conteneur pour l'image à manipuler
vMSWIAImageFile1 = Variant::CreateObject("WIA.ImageFile");
// remarque: vous devez créer un conteneur pour chaque image
vMSWIAImageFile2 = Variant::CreateObject("WIA.ImageFile");
// Création du gestionnaire de filtre
vMSWIAImageProcess = Variant::CreateObject("WIA.ImageProcess");
// Chargement de la 1ere image dans le conteneur
vMSWIAImageFile1.OleFunction("LoadFile", "C:\\Documents and Settings\\blondelle\\Mes documents\\Mes images\\YourBmpHere.bmp");
// Remarque pour cet exemple :
// Les dimensions de la 2eme image doivent etre plus petites que la premiere afin
// que celle ci ne soit pas totalement masquée
// Chargement de la 2eme image dans le conteneur
vMSWIAImageFile2.OleFunction("LoadFile", "C:\\Documents and Settings\\blondelle\\Mes documents\\Mes images\\Photo\\Photo.jpg");
// Ajoute le filtre pour combiner/fusionner (Stamp)
vMSWIAImageProcess.OlePropertyGet("Filters").OleProcedure("Add", (vMSWIAImageProcess.OlePropertyGet("FilterInfos", "Stamp").OlePropertyGet("FilterID")));
vMSWIAImageProcess.OlePropertyGet("Filters", 1).OlePropertySet("Properties", "ImageFile", vMSWIAImageFile2);
// définit la position horizontale de la 2eme image pour la fusion
vMSWIAImageProcess.OlePropertyGet("Filters", 1).OlePropertySet("Properties", "Left", (vMSWIAImageFile1.OlePropertyGet("Width") - vMSWIAImageFile2.OlePropertyGet("Width")));
// définit la position verticale de la 2eme pour la fusion
vMSWIAImageProcess.OlePropertyGet("Filters", 1).OlePropertySet("Properties", "Top", (vMSWIAImageFile1.OlePropertyGet("Height") - vMSWIAImageFile2.OlePropertyGet("Height")));
// Application du filtre à la 1ere image
vMSWIAImageFile1 = vMSWIAImageProcess.OleFunction("Apply", vMSWIAImageFile1);
// sauvegarde de la nouvelle image
vMSWIAImageFile1.OleFunction("SaveFile", "C:\\Documents and Settings\\blondelle\\Mes documents\\Mes images\\fourmiz_ImageCombinee.JPG");
} |
Partager