UDF > GDIPlus > Image >


_GDIPlus_ImageGetThumbnail

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]]]]] )

Param�tres

$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.

Valeur de retour

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*).

Remarque

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().

En relation

_GDIPlus_GraphicsCreateFromHWND, _GDIPlus_ImageLoadFromFile, _GDIPlus_ImageDispose

Voir aussi

Consultez GdipGetImageThumbnail dans la librairie MSDN.

Exemple

#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