2009-06-03 9 views
1

BmpBitmapEncoderを使用して画像タイプをレンダリングすると、次の例のように保存するファイルに正しいフォーマットが送信されます。すべての画像フォーマットにBmpBitmapEncoderを使用する

BmpBitmapEncoder encoder = new BmpBitmapEncoder();; 

encoder.Frames.Add(BitmapFrame.Create(renderer)); 
using (System.IO.FileStream fs = System.IO.File.Open("file.png", System.IO.FileMode.OpenOrCreate)) 
{ 
    encoder.Save(fs); 
} 

画像の名前は「file.png」です。これは正しく動作し、画像をPNG形式で保存します(jpeg、tiff、gifでも動作します)。任意の画像処理アプリケーションがロードされます。

これは、それぞれのタイプ(PngBitmapEncoder、JpegBitmapEncoder、GifBitmapEncoderなど)に正しいエンコーダを使用することとはどのように違うのかを知りたいだけです。

ありがとうございます。

+0

実際にpng/jpg形式を保存していることを確認できますか?ファイルのサイズとヘッダーを.bmpと比較することによって? –

答えて

2

正しいエンコーダPngBitmapEncoder、JpegBitmapEncoder、GifBitmapEncoderを使用する必要があります。

このように保存しているファイルは、常にBMPです!

あなたのテストでは、使用している画像処理アプリケーションが拡張子を無視し、実際のファイル形式をBMPとして認識しているということが起こっています。

+0

ああ、これは意味がある、私は実際に正しいコンバータを選択するためにいくつかの拡張認識ロジックを行った、私はちょうど違いが何かを思い出していた。 ありがとう! – Carlo

関連する問題