- Сообщения
- 5,379
- Репутация
- 2,724
Функция изменяет размер картинки $hImage до указанных значений $iWidth и $iHeight. При успешном завершении, _GDIPlus_GetImageThumbnail() возвращает хэндл новой (уменьшенной/увеличенной) картинки. В случае возникновения ошибки функция возвращает 0 и устанавливает @error в 1. Представленный ниже пример делает снимок экрана, уменьшает его в 4 раза и сохраняет полученный результат в файл screenshort.jpg.
Код:
#Include <GDIPlus.au3>
#Include <ScreenCapture.au3>
$hBitmap = _ScreenCapture_Capture()
_GDIPlus_Startup()
$hImage = _GDIPlus_BitmapCreateFromHBITMAP($hBitmap)
_WinAPI_DeleteObject($hBitmap)
$hThumb = _GDIPlus_GetImageThumbnail($hImage, _GDIPlus_ImageGetWidth($hImage) / 4, _GDIPlus_ImageGetHeight($hImage) / 4)
_GDIPlus_ImageDispose($hImage)
_GDIPlus_ImageSaveToFile($hThumb, @ScriptDir & '\screenshort.jpg')
_GDIPlus_ImageDispose($hThumb)
_GDIPlus_Shutdown()
Func _GDIPlus_GetImageThumbnail($hImage, $iWidth, $iHeight)
Local $Ret = DllCall($ghGDIPDll, 'int', 'GdipGetImageThumbnail', 'ptr', $hImage, 'int', $iWidth, 'int', $iHeight, 'ptr*', 0, 'ptr', 0, 'ptr', 0)
If (@error) Or ($Ret[0]) Then
Return SetError(1, 0, 0)
EndIf
Return $Ret[4]
EndFunc ;==>_GDIPlus_GetImageThumbnail