添加值到编码器参数列表
#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 数据成员指定的类型. |
#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