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