我遇到了使用CImage该类的问题,该类是MFC的一部分:
void SaveBmp(HBITMAP handle, CString name)
{
CImage image;
image.Attach(handle);
image.Save(name,ImageFormatBMP);
}
Run Code Online (Sandbox Code Playgroud)
符号ImageFormatBMP是未声明的标识符.
我进入了CIDN类的MSDN部分,并在页面顶部看到了这个奇怪的注释:
This class and its members cannot be used in
applications that execute in the Windows Runtime.
Run Code Online (Sandbox Code Playgroud)
有人可以向我解释这个(荒谬的IMO)注释的含义吗?
除了Windows应用程序之外,还可以在哪里使用此类?
谢谢.
Windows运行时(WinRT)是一个可用于应用程序的特殊运行时.本说明只是告诉您,如果您开发一个在WinRT下运行的应用程序,则此类不可用.
从维基百科引用:
Windows运行时(WinRT)是2012年首次在Windows 8和Windows Server 2012中引入的与平台无关的应用程序体系结构.WinRT支持使用C++/CX(组件扩展,基于C++的语言),JavaScript-TypeScript和托管进行开发代码语言C#和Visual Basic .NET(VB.NET).WinRT应用程序本身支持x86和ARM处理器,并在沙盒环境中运行,以提供更高的安全性和稳定性.WinRT组件在设计时考虑了多种语言和API之间的互操作性,包括本机语言,托管语言和脚本语言.
https://en.wikipedia.org/wiki/Windows_Runtime
此外,ImageFormatBMP是GDIPlus的一部分,但不是CImage类的一部分.因此,使用它需要使用包含GDIplus的gdiplus头和相应的命名空间.