使用GDI在内存转换图像格式

易语言 2020-07-12 18:43:59

使用GDI在内存转换图像格式

其实当时我修复过BUG,但当时已超过了可编辑帖子的时间,于是一直没有重新发布代码,后来时间久了甚至忘记修改过哪些地方了。
今天也有易友提到这个问题,于是我还是重新检查了一下代码。
那份代码已经手动调用了GlobalFree来释放资源,那么那行代码的第二个参数应该设置为“假”,也就是这样:
CreateStreamOnHGlobal (hMem, 假, Stream)

另外,根据MSDN对CreateStreamOnHGlobal第一个参数的说明,其中有这么一句“The handle must be allocated as movable and nondiscardable”,也就是说,GlobalAlloc应该使用GMEM_MOVEABLE和GMEM_NODISCARD常量。由于GMEM_NODISCARD已经过时所以被忽略了,那么应该只需要设置成GMEM_MOVEABLE就可以了。