GDI+ 中 GetImageEncodersSize 报错的解决方案
在使用GDI+的过程中,使用GetImageEncodersSize()函数时,出现如下内存错误
经过调试,发现其原因是:
在调用GetImageEncodersSize函数时,GDI+还没有被初始化
所以解决方案是:
确保调用前,GDI+的初始化函数 GdiplusStartup 已经被调用
PS:
习惯性的将初始化函数GdiplusStartup 放在MFC App类的InitInstance()函数的最后,
然后在View类的Ondraw中使用GDI+
这样就出现了上面的错误,因为OnDraw函数被调用时,InitInstance中的GDI+初始化函数还没有执行到
解决的方法就是:将GdiplusStartup初始化函数放在InitInstance函数的最开头