gpt4 book ai didi

c# - myBitmap.RawFormat 是否与任何已知的 ImageFormat 不同?

转载 作者:可可西里 更新时间:2023-11-01 08:20:08 24 4
gpt4 key购买 nike

我正在使用 GDI+ 并创建一个新的位图,如下所示:

var bmp = new Bitmap(width, height);

现在,当我观察它的 RawFormat.Guid 时,我发现它不同于所有预定义的 ImageFormat(虽然我希望它是 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,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);

“内存BMP”,挺贴切的。是的,Microsoft 经常手动处理 GUID。调皮。

关于c# - myBitmap.RawFormat 是否与任何已知的 ImageFormat 不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6944270/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com