Obtient une image miniature à partir d'un objet Image
#include <GDIPlus.au3>
_GDIPlus_ImageGetThumbnail ( $hImage [, $iWidth = 0 [, $iHeight = 0 [, $bKeepRatio = True [, $hCallback = Null [, $hCallbackData = Null]]]]] )
$hImage | Le handle de l'objet Image |
$iWidth | [optional] Largeur, en pixels, de l'image miniature. Par défaut 0. |
$iHeight | [optional] Hauteur, en pixels, de l'image miniature. Par défaut 0. |
$bKeepRatio | [optional] Si True, la largeur et la hauteur de l'image seront recalculées pour conserver les proportions de l'image. Par défaut, True. |
$hCallback | [optional] Fonction Callback que vous fournissez. Pendant le processus de création ou de récupération de l'image miniature, GDI+ appelle cette fonction pour vous permettre d'interrompre le processus. Par défaut la valeur est NULL. |
$hCallbackData | [optional] Pointeur vers un bloc de mémoire qui contient les données à utiliser pour la fonction de rappel. Par défaut la valeur est NULL. |
Succès: | Retourne le handle de l'objet Image qui contient l'image miniature. |
Échec: | Retourne 0 et définit @error <> 0, @extended contient le code erreur GPSTATUS ($GPID_ERR*). |
Une image miniature est une copie petite de l'image. Des fichiers images ont une image miniature intégrée dans le fichier. Dans quelques cas, cette méthode récupère l'image miniature embarquée. S'il n'y a pas d'image miniature embarquée, cette méthode crée une image miniature en redimensionnant l'image principale à la taille spécifiée dans les paramètres $iWidth et $iHeight. Si ces paramètres valent 0, une taille définie par le système est utilisée.
Ne pas oublier de libérer l'image miniature en appelant _GDIPlus_ImageDispose().
_GDIPlus_GraphicsCreateFromHWND, _GDIPlus_ImageLoadFromFile, _GDIPlus_ImageDispose
Consultez GdipGetImageThumbnail dans la librairie MSDN.
#include <GDIPlus.au3> #include <GuiConstantsEx.au3> #include <MsgBoxConstants.au3> Example() Func Example() Local $hImage, $sFile, $hGUI, $hGraphic, $hThumbnail, $iW_new, $iH_new $sFile = FileOpenDialog("Please select an image", "", "Image (*.jpg;*.png;*.bmp;*.gif;*.tif)", BitOR($FD_PATHMUSTEXIST, $FD_FILEMUSTEXIST)) If @error Then Exit MsgBox(BitOR($MB_TOPMOST, $MB_ICONERROR), "Error", "No image file has been selected", 30) _GDIPlus_Startup() $hImage = _GDIPlus_ImageLoadFromFile($sFile) If @error Or Not $hImage Then MsgBox(BitOR($MB_TOPMOST, $MB_ICONERROR), "Error", "This file isn't supported by GDIPlus!") Else $hGUI = GUICreate("GDI+ _GDIPlus_ImageGetThumbnail Demo", 320, 200) GUISetBkColor(0x202020) GUISetState() $hGraphic = _GDIPlus_GraphicsCreateFromHWND($hGUI) $hThumbnail = _GDIPlus_ImageGetThumbnail($hImage, 96, 96) $iW_new = _GDIPlus_ImageGetWidth($hThumbnail) $iH_new = _GDIPlus_ImageGetHeight($hThumbnail) _GDIPlus_GraphicsDrawImageRect($hGraphic, $hThumbnail, (320 - $iW_new) / 2, (200 - $iH_new) / 2, $iW_new, $iH_new) ; Centrer l'image dans la GUI Do Until GUIGetMsg() = $GUI_EVENT_CLOSE _GDIPlus_ImageDispose($hImage) _GDIPlus_ImageDispose($hThumbnail) EndIf _GDIPlus_Shutdown() EndFunc ;==>Example