myBitmap.RawFormat与任何已知的ImageFormat有什么不同?

Mo *_*our 12 c# graphics gdi+ bitmap

我正在使用GDI +,我创建了一个像这样的新位图:

var bmp = new Bitmap(width, height);
Run Code Online (Sandbox Code Playgroud)

现在,当我观察它的RawFormat.Guid时,我发现它与所有预定义的ImageFormats不同(我希望它是JPEG).

ImageFormat.Jpeg.Guid
    {b96b3cae-0728-11d3-9d7b-0000f81ef32e}
format.Guid
    {b96b3caa-0728-11d3-9d7b-0000f81ef32e}
Run Code Online (Sandbox Code Playgroud)

有趣的是,你可以看到它们是相同的,除了一个让我更加困惑的角色.

知道为什么吗?哪些代码部分决定了我创建的位图的RawFormat是什么?我们如何确保它是有效的ImageFormat?

谢谢.

Han*_*ant 20

从Windows SDK,<gdiplusimaging.h>头文件:

DEFINE_GUID(ImageFormatUndefined, 0xb96b3ca9,0x0728,0x11d3,0x9d,0x7b,0x00,0x00,0xf8,0x1e,0xf3,0x2e);
DEFINE_GUID(ImageFormatMemoryBMP, 0xb96b3caa,0x0728,0x11d3,0x9d,0x7b,0x00,0x00,0xf8,0x1e,0xf3,0x2e);
DEFINE_GUID(ImageFormatBMP, 0xb96b3cab,0x0728,0x11d3,0x9d,0x7b,0x00,0x00,0xf8,0x1e,0xf3,0x2e);
DEFINE_GUID(ImageFormatEMF, 0xb96b3cac,0x0728,0x11d3,0x9d,0x7b,0x00,0x00,0xf8,0x1e,0xf3,0x2e);
DEFINE_GUID(ImageFormatWMF, 0xb96b3cad,0x0728,0x11d3,0x9d,0x7b,0x00,0x00,0xf8,0x1e,0xf3,0x2e);
DEFINE_GUID(ImageFormatJPEG, 0xb96b3cae,0x0728,0x11d3,0x9d,0x7b,0x00,0x00,0xf8,0x1e,0xf3,0x2e);
DEFINE_GUID(ImageFormatPNG, 0xb96b3caf,0x0728,0x11d3,0x9d,0x7b,0x00,0x00,0xf8,0x1e,0xf3,0x2e);
DEFINE_GUID(ImageFormatGIF, 0xb96b3cb0,0x0728,0x11d3,0x9d,0x7b,0x00,0x00,0xf8,0x1e,0xf3,0x2e);
DEFINE_GUID(ImageFormatTIFF, 0xb96b3cb1,0x0728,0x11d3,0x9d,0x7b,0x00,0x00,0xf8,0x1e,0xf3,0x2e);
DEFINE_GUID(ImageFormatEXIF, 0xb96b3cb2,0x0728,0x11d3,0x9d,0x7b,0x00,0x00,0xf8,0x1e,0xf3,0x2e);
DEFINE_GUID(ImageFormatIcon, 0xb96b3cb5,0x0728,0x11d3,0x9d,0x7b,0x00,0x00,0xf8,0x1e,0xf3,0x2e);
Run Code Online (Sandbox Code Playgroud)

"记忆BMP",非常合适.是的,微软经常会手动使用GUID.淘气.

  • @Hans - (旧Q,但仍然) - 3和4是photoCD和flashPIX,它们在集合中,但没有外化,所以猜M $改变了他们对支持它们的想法:[来自ImageFormat.cs类] private static ImageFormat photoCD = new ImageFormat(new Guid("{b96b3cb3-0728-11d3-9d7b-0000f81ef32e}")); private static ImageFormat flashPIX = new ImageFormat(new Guid("{b96b3cb4-0728-11d3-9d7b-0000f81ef32e}")); (3认同)
  • 好吧,当然不是.虽然你在调试时非常好.唯一的问题是每个人现在都对图像格式b3和b4感到好奇. (2认同)