Code : Tout sélectionner
#Include <GDIPlus.au3>
_GDIPlus_Startup()
$h_image = _GDIPlus_ImageLoadFromFile("c:\test.jpg") ; <== mettez un chemin vers une image existante
$color = _GDIPlus_BitmapGetPixel($h_image, 10, 20) ; <== détermine la couleur du pixel 10;20
msgbox(0,"",$color)
_GDIPlus_BitmapSetPixel($h_image, 20, 10, 0xFFFF0000) ; <== met le pixel 20;10 en rouge
_GDIPlus_ImageSaveToFile($h_image, "c:\test2.jpg") ; <== enregistre l'image modifiée dans "C:\test2.jpg"
_GDIPlus_ImageDispose($h_image)
_GDIPlus_Shutdown()
Func _GDIPlus_BitmapGetPixel($hBitmap, $iX, $iY)
Local $tArgb, $pArgb, $aRet
$tArgb = DllStructCreate("dword Argb")
$pArgb = DllStructGetPtr($tArgb)
$aRet = DllCall($ghGDIPDll, "int", "GdipBitmapGetPixel", "hwnd", $hBitmap, "int", $iX, "int", $iY, "ptr", $pArgb)
Return "0x" & Hex(DllStructGetData($tArgb, "Argb"))
EndFunc ;==>GDIPlus_BitmapGetPixel
Func _GDIPlus_BitmapSetPixel($hBitmap, $iX, $iY, $iArgb)
DllCall($ghGDIPDll, "int", "GdipBitmapSetPixel", "hwnd", $hBitmap, "int", $iX, "int", $iY, "dword", $iArgb)
EndFunc ;==>_GDIPlus_BitmapSetPixel
Attention : l'image doit avoir une taille minimale de 20x20 (on demande les pixels 10;20 et 20;10)
sinon il y aura une erreur fermant le programme.