役に立ちましたか?

解決

BMPエンコーダは48bppフォーマットをサポートしていません。あなたはBitmap.LockBits()メソッドを持つ画素の亀裂を得ることができます。ピクセルフォーマットのためのMSDNライブラリの記事は48bppが24bppの画像のように扱われていると言うが、私は実際にこのコードの6つのバイトのピクセルを見ています:

  Bitmap bmp = new Bitmap(@"c:\temp\48bpp.png");
  BitmapData bd = bmp.LockBits(new Rectangle(0, 0, bmp.Width, bmp.Height),
    ImageLockMode.ReadOnly, PixelFormat.Format48bppRgb);
  // Party with bd.Scan0
  //...
  bmp.UnlockBits(bd);
scroll top