我正在使用GDI,我创建了一个新的位图,如下所示:
var bmp = new Bitmap(width,height);
现在当我观察它的RawFormat.Guid我看到它是不同于所有预定义的ImageFormats(而我期望它是JPEG).
ImageFormat.Jpeg.Guid {b96b3cae-0728-11d3-9d7b-0000f81ef32e} format.Guid {b96b3caa-0728-11d3-9d7b-0000f81ef32e}
有趣的部分是,你可以看到它们是相同的,除了一个使我更困惑的角色.
任何想法为什么?哪些代码部分决定了我创建的位图的RawFormat是什么?我们如何确保它是一个有效的ImageFormat?
谢谢.
解决方法
从Windows SDK,< gdiplusimaging.h>头文件:
DEFINE_GUID(ImageFormatUndefined,0xb96b3ca9,0x0728,0x11d3,0x9d,0x7b,0x00,0xf8,0x1e,0xf3,0x2e); DEFINE_GUID(ImageFormatMemoryBMP,0xb96b3caa,0x2e); DEFINE_GUID(ImageFormatBMP,0xb96b3cab,0x2e); DEFINE_GUID(ImageFormatEMF,0xb96b3cac,0x2e); DEFINE_GUID(ImageFormatWMF,0xb96b3cad,0x2e); DEFINE_GUID(ImageFormatJPEG,0xb96b3cae,0x2e); DEFINE_GUID(ImageFormatPNG,0xb96b3caf,0x2e); DEFINE_GUID(ImageFormatGIF,0xb96b3cb0,0x2e); DEFINE_GUID(ImageFormatTIFF,0xb96b3cb1,0x2e); DEFINE_GUID(ImageFormatEXIF,0xb96b3cb2,0x2e); DEFINE_GUID(ImageFormatIcon,0xb96b3cb5,0x2e);
“记忆BMP”,相当合适.是的,微软经常用手指弄GUID.淘气.