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