2011-11-29 21 views
0

痛みのない変換はありますか?BitmapFrame変換へのWriteableBitmap

using (MemoryStream ms = new MemoryStream()) 
{//WriteableBitmap wb defined before 
    wb.SaveJpeg(ms, (int)image1.Width, (int)image1.Height, 0, 100); 
    BitmapImage bmp = new BitmapImage(); 
    bmp.SetSource(ms); 
} 

をしかし、WBがNO SaveJpeg方法があります: は、私は、このサンプルをGoogleで検索しています! とBMPはそのための機能がありますNO SetSource =(

答えて

1

を持っていない

var bf = BitmapFrame.Create(wb); 
0

をあなたが直接WriteableBitmapを置くことができます(;; System.Windows.Mediaを使用してSystem.Windows.Media.Imagingを使用)。 BitmapFrame.Create()に続いて、あなたがJpegBitmapEncoderを使用してJPEGとしてBitmapFrameを保存することができます。

MemoryStream ms = new MemoryStream(); 
JpegBitmapEncoder enc = new JpegBitmapEncoder(); 
enc.Frames.Add(BitmapFrame.Create(wb)); 
enc.Save(ms); 

あなたが保存する前に画像のサイズを変更したい場合は、私はの使用をお勧めします、Visual StudioのNuGetパッケージマネージャで利用可能です。使用方法は次のとおりです。

WriteableBitmap newWB = wb.Resize(256, 256, WriteableBitmapExtensions.Interpolation.Bilinear); 
関連する問題