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