GDI+ 中 GetImageEncodersSize 报错的解决方案

在使用GDI+的过程中,使用GetImageEncodersSize()函数时,出现如下内存错误


经过调试,发现其原因是:

在调用GetImageEncodersSize函数时,GDI+还没有被初始化


所以解决方案是:

确保调用前,GDI+的初始化函数 GdiplusStartup 已经被调用


PS:  

习惯性的将初始化函数GdiplusStartup 放在MFC App类的InitInstance()函数的最后,

然后在View类的Ondraw中使用GDI+

这样就出现了上面的错误,因为OnDraw函数被调用时,InitInstance中的GDI+初始化函数还没有执行到

解决的方法就是:将GdiplusStartup初始化函数放在InitInstance函数的最开头


GDI+ 中 GetImageEncodersSize 报错的解决方案_第1张图片





你可能感兴趣的:(GDI+ 中 GetImageEncodersSize 报错的解决方案)