|
转换到字节集 | 字节集 | |
|
转换格式 | 整数型 | | | |
JPG图片质量 | 整数型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 |
Clsid | 字节集 | | |
DataStream | 对象 | | |
hMemDataStream | 整数型 | | |
pDataStream | 整数型 | | |
nStreamSize | 整数型 | | |
bRet | 逻辑型 | | |
eps | EncoderParameters | | |
quality | 整数型 | | |
新图像 | 字节集 | | |
pStream2 | 整数型 | | |
pStream1 | 整数型 | | |
如果真 (m_pBitmap = 0
)
返回 (新图像
)填充背景 ()
如果真 (是否为空 (JPG图片质量
))

JPG图片质量 = 100
如果真 (JPG图片质量 < 0
)
JPG图片质量 = 0
如果真 (JPG图片质量 > 100
)
JPG图片质量 = 100
GetCLSID (转换格式, Clsid
)eps.Count = 1
eps.Parameter
[1
].Type = 4
eps.Parameter
[1
].NumberOfValues = 1
如果真 (转换格式 = 2
) 
quality = JPG图片质量

eps.Parameter
[1
].Value =
lstrcpynA_整数传址 (quality, quality, 0
)
CLSIDFromString_字节 (A2W (“{1d5be4b5-fa4a-452d-9cdd-5db35105e7eb}”,
), eps.Parameter
[1
].Guid
)
hMemDataStream =
GlobalAlloc ( #GMEM_MOVEABLE, 0
)CreateStreamOnHGlobal_Object (hMemDataStream, 假, DataStream
)pStream1 =
GetObjectPtr (DataStream, DataStream, 0
)
如果真 (pStream1 ≠ 0
)
RtlMoveMemory_整数传址1 (pStream2, pStream1, 4
)
如果真 (pStream2 ≠ 0
)
GdipSaveImageToStream (m_pBitmap, pStream2, Clsid, eps
)

pDataStream =
GlobalLock (hMemDataStream
)

nStreamSize =
GlobalSize (hMemDataStream
)

如果真 (pDataStream ≠ 0
)


新图像 =
取空白字节集 (nStreamSize
)

RtlMoveMemory_int2Bytes (新图像, pDataStream, nStreamSize
)


bRet = 真

GlobalUnlock (hMemDataStream)
GlobalFree (hMemDataStream)返回 (新图像
)