函数参考


_GDIPlus_ParamAdd

添加值到编码器参数列表

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

参数

$tParams 由 _GDIPlus_ParamInit 返回的 $tagGDIPPENCODERPARAMS 结构
$sGUID 编码器参数的 GUID.可以是下列值之一:
$GDIP_EPGCHROMINANCETABLE - 色度表设置
$GDIP_EPGCOLORDEPTH - 色深设置
$GDIP_EPGCOMPRESSION - 压缩设置
$GDIP_EPGLUMINANCETABLE - 亮度表设置
$GDIP_EPGQUALITY - 质量设置
$GDIP_EPGRENDERMETHOD - 渲染模式设置
$GDIP_EPGSAVEFLAG - 保存标记设置
$GDIP_EPGSCANMETHOD - 扫描模式设置
$GDIP_EPGTRANSFORMATION - 转换设置
$GDIP_EPGVERSION - 软件版本设置
$iCount $pValues 数组中的元素数量
$iType 编码器的参数值类型.可以是下列值之一:
$GDIP_EPTBYTE - 8 位 无符号整数
$GDIP_EPTASCII - 空终止字符串
$GDIP_EPTSHORT - 16 位 无符号整数
$GDIP_EPTLONG - 32 位 无符号整数
$GDIP_EPTRATIONAL - 两位长整 (分子, 分母)
$GDIP_EPTLONGRANGE - 两位长整 (低位,高位)
$GDIP_EPTUNDEFINED - 任意类型字节的数组
$GDIP_EPTRATIONALRANGE - 两个long (低位,高位)
$pValues 数组值的指针. 每个值有由 $iType 数据成员指定的类型.

返回值

None.

注意/说明

None.

相关

_GDIPlus_ParamInit, $tagGDIPPENCODERPARAMS

示例/演示


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

_Main()

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

    ; 捕获屏幕
    _ScreenCapture_Capture(@MyDocumentsDir & "\GDIPlus_Image.jpg")

    ; 初始化 GDI+ 库
    _GDIPlus_Startup()

    ; 加载图像
    $hImage = _GDIPlus_ImageLoadFromFile(@MyDocumentsDir & "\GDIPlus_Image.jpg")

    ; 获取 JPEG 编码器的 CLSID
    $sCLSID = _GDIPlus_EncodersGetCLSID("JPG")

    ; 建立表示旋转 90 度的参数
    $tData = DllStructCreate("int Data")
    DllStructSetData($tData, "Data", $GDIP_EVTTRANSFORMROTATE90)
    $tParams = _GDIPlus_ParamInit(1)
    _GDIPlus_ParamAdd($tParams, $GDIP_EPGTRANSFORMATION, 1, $GDIP_EPTLONG, DllStructGetPtr($tData, "Data"))

    ; 保存旋转后的图像
    _GDIPlus_ImageSaveToFileEx($hImage, @MyDocumentsDir & "\GDIPlus_Image2.jpg", $sCLSID, DllStructGetPtr($tParams))

    ; 关闭 GDI+ 库
    _GDIPlus_Shutdown()

EndFunc   ;==>_Main