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 37 38 39 40 41 42
|
// #include <utilcls.h> // <---------ne pas oublier
void __fastcall TForm1::Button10Click(TObject *Sender)
{
// creation Image Multipage TIFF
Variant vMSWIAImageFile1, vMSWIAImageFile2, vMSWIAImageFile3, vMSWIAImageProcess;
// Création des conteneurs pour les images à manipuler
vMSWIAImageFile1 = Variant::CreateObject("WIA.ImageFile");
vMSWIAImageFile2 = Variant::CreateObject("WIA.ImageFile");
vMSWIAImageFile3 = Variant::CreateObject("WIA.ImageFile");
// Création du gestionnaire de filtre
vMSWIAImageProcess = Variant::CreateObject("WIA.ImageProcess");
// chargement des images
vMSWIAImageFile1.OleFunction("LoadFile", "C:\\Documents and Settings\\blondelle\\Mes documents\\Mes images\\Grue_Atelier.jpg");
vMSWIAImageFile2.OleFunction("LoadFile", "C:\\Documents and Settings\\blondelle\\Mes documents\\Mes images\\resultat_Fusion_Deux_images.JPG");
vMSWIAImageFile3.OleFunction("LoadFile", "C:\\Documents and Settings\\blondelle\\Mes documents\\Mes images\\fourmiz_ImageCombinee.JPG");
// Ajoute un filtre pour gérer un premier Frame/Multipage
vMSWIAImageProcess.OlePropertyGet("Filters").OleProcedure("Add", (vMSWIAImageProcess.OlePropertyGet("FilterInfos", "Frame").OlePropertyGet("FilterID")));
// définit le contenu du Frame
vMSWIAImageProcess.OlePropertyGet("Filters", (vMSWIAImageProcess.OlePropertyGet("Filters").OlePropertyGet("Count"))).OlePropertySet("Properties", "ImageFile", vMSWIAImageFile2);
// Ajoute un filtre pour gérer un deuxieme Frame/Multipage
vMSWIAImageProcess.OlePropertyGet("Filters").OleProcedure("Add", (vMSWIAImageProcess.OlePropertyGet("FilterInfos", "Frame").OlePropertyGet("FilterID")));
// définit le contenu du Frame
vMSWIAImageProcess.OlePropertyGet("Filters", (vMSWIAImageProcess.OlePropertyGet("Filters").OlePropertyGet("Count"))).OlePropertySet("Properties", "ImageFile", vMSWIAImageFile3);
// Ajoute un filtre de conversion pour la nouvelle image (au format TIFF)
// (TIFF est le seul format qui supporte la sauvegarde en multi-frames)
vMSWIAImageProcess.OlePropertyGet("Filters").OleProcedure("Add", (vMSWIAImageProcess.OlePropertyGet("FilterInfos", "Convert").OlePropertyGet("FilterID")));
// wiaFormatTIFF ="{B96B3CB1-0728-11D3-9D7B-0000F81EF32E}"
vMSWIAImageProcess.OlePropertyGet("Filters", (vMSWIAImageProcess.OlePropertyGet("Filters").OlePropertyGet("Count"))).OlePropertySet("Properties", "FormatID", "{B96B3CB1-0728-11D3-9D7B-0000F81EF32E}");
// Application du filtre à la 1ere image:
// (ajoute 2 frames dans la 1ere image, au format Tiff
vMSWIAImageFile1 = vMSWIAImageProcess.OleFunction("Apply", vMSWIAImageFile1);
// sauvegarde de la nouvelle image
vMSWIAImageFile1.OleFunction("SaveFile", "C:\\Documents and Settings\\blondelle\\Mes documents\\Mes images\\monImageMultipage.tif");
} |
Partager