Il faut disposer d`une fenêtre AVEC un bouton ET deux champs image (IMAGE1 ET IMAGE2).
//Code du bouton
//Récupération du contexte de l`image source
DCImageSource = AppelDLL32("user32","GetDC",Handle("IMAGE1"))
// Récupération du contexte de l`image résultat DCImageDestination = AppelDLL32("user32","GetDC",Handle("IMAGE2"))
// Filtre
AppliqueNegatif(DCImageSource, DCImageDestination, nLargeur, nHauteur,1114278)
// Libération des DC AppelDLL32("user32","ReleaseDC",Handle("IMAGE1"), DCImageSource) AppelDLL32("user32","ReleaseDC",Handle("IMAGE2"),DCImageDestination)
//Détail de la procédure AppliqueNegatif
PROCEDURE AppliqueNegatif (DCImageSrce, DCImageDestinat, Largeur, Hauteur, Option)
//Cette procédure permet de faire un négatif de l`image
//Variables i, j sont des entiers
// Points à afficher (résultat)
lSourceX, lSourceY sont des entiers
// Points source équivalents //Affichage des points POUR i = 0 A Hauteur
POUR j = 0 A Largeur
lSourceX = j
lSourceY = i
AppelDLL32("gdi32","BitBlt",DCImageDestinat, j, i, 1, 1, DCImageSrce, lSourceX, lSourceY, Option)
FIN
FIN
|