在内存中将BMP文件转换为JPG内存流,怎么用GdipSaveImageToStream函

来源:百度知道 编辑:UC知道 时间:2024/09/21 16:32:51
在内存中将BMP文件转换为JPG内存流,怎么用GdipSaveImageToStream函数
GdipSaveImageToStream就是这个不会用啊
请直接上代码
byte to pic我会

1、有两个方法,一是利用网络上的已有的保存为VB代码提取出其压缩为stream的代码,而是可以直接利用GDI+的相关函数先将StdPicture转换为GDI+的Image类,然后调用一个叫GdipSaveImageToStream函数转换成JPG流。

2、即使上面的你成功了,也就是说有了JPG流,那么你的下一步就是将其转换为StdPicture ,好,这里也有两个方法,一个就是利用网络上的流传的从流创建图像的代码,另外一个就是GdipLoadImageFromStream函数,第二种方法创建的为GDI+中的Image对象,要转换为StdPicture 似乎可以用GdipCreateHBITMAPFromBitmap,但是 ,无论你用那种方法得到的StdPicture在内存中都是以BMP格式保存的,也就是非压缩的。

实际上,VB的StdPicture 可以由OleCreatePictureIndirect来创建,而这个函数需要的完整的位图数据,并且相关的资源只能在不使用之后才可以删除。