2011-08-04 10 views
9

私はGDI +で働いていると私はこのような新しいビットマップを作成します。myBitmap.RawFormatは、既知のImageFormatと異なるものですか?

var bmp = new Bitmap(width, height); 

私はそのRawFormat.Guidを観察したときに、今、私はそれがJPEGであることを期待しながら、それはすべての定義済みImageFormats(異なっていることがわかり)。

ImageFormat.Jpeg.Guid 
    {b96b3cae-0728-11d3-9d7b-0000f81ef32e} 
format.Guid 
    {b96b3caa-0728-11d3-9d7b-0000f81ef32e} 

あなたが見ることができるように、私はさらに1つの文字を除いて同じものです。

理由は何ですか?私が作成するビットマップのRawFormatは、コードのどの部分で決まりますか?どのようにそれが有効なImageFormatであることを保証することができますか?

ありがとうございました。

答えて

18

の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"、非常に適切な。そして、マイクロソフトはGUIDを手作業でしばしば使いこなす。いたずら。

+0

うわー!本当に?!それらのための新しいGUIDを作成することはとても難しいですか? :P –

+2

まあ、もちろんです。あなたがデバッグしているときにかなり良い。唯一のハングアップは、今や誰もがイメージフォーマットb3とb4について興味をそそられるということです。 –

+3

@ Hans - (Old Q、but still) - 3と4はphotoCDとflashPIXですが、それらはコレクションに含まれていますが、外部化されていないので、M $はそれらのサポートについて心を変えました:[ImageFormat.csクラスから] private static ImageFormat photoCD =新しいImageFormat(新しいGuid( "{b96b3cb3-0728-11d3-9d7b-0000f81ef32e}"));プライベート静的ImageFormat flashPIX =新しいImageFormat(新しいGuid( "{b96b3cb4-0728-11d3-9d7b-0000f81ef32e}")); – Wolf5370

関連する問題