首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WriteableBitmap.SaveJpeg

WriteableBitmap.SaveJpeg
EN

Stack Overflow用户
提问于 2013-03-14 08:41:55
回答 1查看 3.9K关注 0票数 1

代码中的wb.SaveJpeg行生成错误: System.Windows.Media.Imaging.WriteableBitmap‘不包含'SaveJpeg’的定义,并且找不到接受'System.Windows.Media.Imaging.WriteableBitmap‘类型的第一个参数的扩展方法'SaveJpeg’

我已经包含了PresentationCore、PresentaionFramework、System.Windows.Forms、WindowsBase作为参考。

代码语言:javascript
复制
BitmapImage image = CaptureImageFromClipBoard();
WriteableBitmap wb = new WriteableBitmap(image);

using (var isf = IsolatedStorageFile.GetUserStoreForApplication())
{
    using (var fs = isf.CreateFile(path + "\\" + filename + ".jpg"))
    {   
        wb.SaveJpeg(fs, wb.PixelWidth, wb.PixelHeight, 10, 100);
    }
}

下面是CaptureImageFromClipBoard方法:

代码语言:javascript
复制
static public BitmapImage CaptureImageFromClipBoard()
{
    var img = new System.Windows.Controls.Image();
    var imgsrc = Clipboard.GetImage();
    img.Source = new FormatConvertedBitmap(imgsrc, PixelFormats.Bgr32, null, 0);

    JpegBitmapEncoder encoder = new JpegBitmapEncoder();
    MemoryStream memoryStream = new MemoryStream();
    BitmapImage bImg = new BitmapImage();

    encoder.Frames.Add(BitmapFrame.Create(imgsrc));
    encoder.Save(memoryStream);

    bImg.BeginInit();
    bImg.StreamSource = new MemoryStream(memoryStream.ToArray());
    bImg.EndInit();

    memoryStream.Close();

    return bImg;
}
EN

回答 1

Stack Overflow用户

发布于 2013-03-14 09:59:12

我建议这样做-注意:未经测试,从内存和原始帖子键入...

代码语言:javascript
复制
static public void SaveCapturedImageFromClipBoard(Stream target)
{
    var img = new System.Windows.Controls.Image();
    var imgsrc = Clipboard.GetImage();
    img.Source = new FormatConvertedBitmap(imgsrc, PixelFormats.Bgr32, null, 0);

    JpegBitmapEncoder encoder = new JpegBitmapEncoder();

    encoder.Frames.Add(BitmapFrame.Create(imgsrc));
    encoder.Save(target);
}

代码语言:javascript
复制
using (var isf = IsolatedStorageFile.GetUserStoreForApplication())
{
     using (var fs = isf.CreateFile(path + "\\" + filename + ".jpg"))
     {
         SaveCapturedImageFromClipBoard(fs);
     }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15399215

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档