|
图片_转换 | 逻辑型 | |
|
图像数据 | 字节集 | | | |
转换格式 | 整数型 | | | | 保存路径 | 文本型 | | | | 返回数据 | 字节集 | | | | 含透明色 | 逻辑型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 |
新图像 | 字节集 | | |
Clsid | GUID | | |
pStr | 文本型 | | |
hMem | 整数型 | | |
Stream | | | |
lpvoid | 整数型 | | |
pStream | 整数型 | | |
bitmap | 整数型 | | |
DataStream | | | |
hMemDataStream | 整数型 | | |
pDataStream | 整数型 | | |
nStreamSize | 整数型 | | |
bRet | 逻辑型 | | |
GpInput | GdiplusStartupInput | | |
局_Token | 整数型 | | |
局_hBitMap | 整数型 | | |
如果真 (取字节集长度 (图像数据
) < 3
)
返回 (假)GpInput.GdiplusVersion = 1GdiplusStartup (局_Token, GpInput, 0
)
判断 (转换格式 = 1
) 
pStr =
“{557CF400-1A04-11D3-9A73-0000F81EF32E}”
判断 (转换格式 = 2
) 
pStr =
“{557CF401-1A04-11D3-9A73-0000F81EF32E}”
判断 (转换格式 = 3
) 
pStr =
“{557CF402-1A04-11D3-9A73-0000F81EF32E}”
判断 (转换格式 = 4
) 
pStr =
“{557CF405-1A04-11D3-9A73-0000F81EF32E}”
判断 (转换格式 = 5
) 
pStr =
“{557CF406-1A04-11D3-9A73-0000F81EF32E}”
Clsid = StringToCLSID (pStr)hMem =
GlobalAlloc (2,
取字节集长度 (图像数据
))
CreateStreamOnHGlobal (hMem, 假, Stream
)lpvoid =
GlobalLock (hMem
)写到内存 (图像数据, lpvoid,
取字节集长度 (图像数据
))
GlobalUnlock (hMem
)pStream =
lstrcpyn_整数型 (Stream, Stream, 0
)GDIpCreateBitmapFromStream (取字节集数据 (指针到字节集 (pStream, 4
),
#整数型, ), bitmap
)
如果真 (含透明色
)
GdipCreateBitmapFromHBITMAP (局_hBitMap, 0, bitmap
)
CreateStreamOnHGlobal (0, 真, DataStream
)pStream =
lstrcpyn_整数型 (DataStream, DataStream, 0
)pStream =
取字节集数据 (指针到字节集 (pStream, 4
),
#整数型, )GDIpSaveImageToStream (bitmap, pStream, Clsid, 0
)GetHGlobalFromStream (pStream, hMemDataStream
)pDataStream =
GlobalLock (hMemDataStream
)nStreamSize =
GlobalSize (hMemDataStream
)
如果真 (pDataStream ≠ 0
)
新图像 =
取空白字节集 (nStreamSize
)
CopyMemory_int2Bytes (新图像, pDataStream, nStreamSize
)
如果真 (删首尾空 (保存路径
) ≠
“”)
写到文件 (保存路径, 新图像
)
返回数据 = 新图像
bRet = 真
Release (Stream)Release (DataStream
)GlobalUnlock (hMemDataStream
)GlobalFree (hMemDataStream
)GdipDisposeImage (bitmap
)GlobalFree (hMem
)GdiplusShutdown (局_Token
) 返回 (bRet
)