Function Reference


_GDIPlus_ParamAdd

Add a value to an encoder parameter list

#include <GDIPlus.au3>
_GDIPlus_ParamAdd ( ByRef $tParams, $sGUID, $iNbOfValues, $iType, $pValues )

Parameters

$tParams $tagGDIPENCODERPARAMS structure returned from _GDIPlus_ParamInit()
$sGUID Encoder parameter GUID. Can be one of the following:
    $GDIP_EPGCHROMINANCETABLE - Chrominance table settings
    $GDIP_EPGCOLORDEPTH - Color depth settings
    $GDIP_EPGCOMPRESSION - Compression settings
    $GDIP_EPGLUMINANCETABLE - Luminance table settings
    $GDIP_EPGQUALITY - Quality settings
    $GDIP_EPGRENDERMETHOD - Render method settings
    $GDIP_EPGSAVEFLAG - Save flag settings
    $GDIP_EPGSCANMETHOD - Scan mode settings
    $GDIP_EPGTRANSFORMATION - Transformation settings
    $GDIP_EPGVERSION - Software version settings
$iNbOfValues Number of elements in the $pValues array
$iType Encoder parameter value type. Can be one of the following:
    $GDIP_EPTBYTE - 8 bit unsigned integer
    $GDIP_EPTASCII - Null terminated character string
    $GDIP_EPTSHORT - 16 bit unsigned integer
    $GDIP_EPTLONG - 32 bit unsigned integer
    $GDIP_EPTRATIONAL - Two longs (numerator, denominator)
    $GDIP_EPTLONGRANGE - Two longs (low, high)
    $GDIP_EPTUNDEFINED - Array of bytes of any type
    $GDIP_EPTRATIONALRANGE - Two longs (low, high)
$pValues Pointer to an array of values. Each value has the type specified by the $iType data member.

Return Value

None.

Related

$tagGDIPENCODERPARAMS, _GDIPlus_ParamInit

Example

#include <GDIPlus.au3>
#include <ScreenCapture.au3>

Example()

Func Example()
    Local $hImage, $sCLSID, $tData, $tParams

    ; Capture screen
    _ScreenCapture_Capture(@MyDocumentsDir & "\GDIPlus_Image.jpg")

    ; Initialize GDI+ library
    _GDIPlus_Startup()

    ; Load image
    $hImage = _GDIPlus_ImageLoadFromFile(@MyDocumentsDir & "\GDIPlus_Image.jpg")

    ; Get JPEG encoder CLSID
    $sCLSID = _GDIPlus_EncodersGetCLSID("JPG")

    ; Set up parameters for 90 degree rotation
    $tData = DllStructCreate("int Data")
    DllStructSetData($tData, "Data", $GDIP_EVTTRANSFORMROTATE90)
    $tParams = _GDIPlus_ParamInit(1)
    _GDIPlus_ParamAdd($tParams, $GDIP_EPGTRANSFORMATION, 1, $GDIP_EPTLONG, DllStructGetPtr($tData, "Data"))

    ; Save image with rotation
    _GDIPlus_ImageSaveToFileEx($hImage, @MyDocumentsDir & "\GDIPlus_Image2.jpg", $sCLSID, $tParams)

    ; Shut down GDI+ library
    _GDIPlus_Shutdown()

    ShellExecute(@MyDocumentsDir & "\GDIPlus_Image2.jpg")
EndFunc   ;==>Example