从图像保存图像-控制WPF c# [英] save Image from Image-Control wpf c#

查看:28
本文介绍了从图像保存图像-控制WPF c#的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我用ZXing.net做了一个二维码编码器(WPF,c#)

我正在图像控件中显示二维码

       var writer = new BarcodeWriter
        {
            Format = BarcodeFormat.QR_CODE,
            Options = new ZXing.Common.EncodingOptions
            {
                Height = 200,
                Width = 200,
                Margin = 0
            }
        };


        var image = writer.Write(qrtext.Text);
        qrImg.Source = image;

之后,我想保存图像。我正在使用这个示例Save Image in a Folder

  private void btnSaveImg_Click(object sender, RoutedEventArgs e)
    {

        string filePath = @"C:UsersxxxDesktopimage.png";

        SaveToPng(qrImg, filePath);
    }

    void SaveToBmp(FrameworkElement visual, string fileName)
    {
        var encoder = new BmpBitmapEncoder();
        SaveUsingEncoder(visual, fileName, encoder);
    }

    void SaveToPng(FrameworkElement visual, string fileName)
    {
        var encoder = new PngBitmapEncoder();
        SaveUsingEncoder(visual, fileName, encoder);
    }

    // and so on for other encoders (if you want)


    void SaveUsingEncoder(FrameworkElement visual, string fileName, BitmapEncoder encoder)
    {
        RenderTargetBitmap bitmap = new RenderTargetBitmap((int)visual.ActualWidth, (int)visual.ActualHeight, 96, 96, PixelFormats.Pbgra32);
        bitmap.Render(visual);
        BitmapFrame frame = BitmapFrame.Create(bitmap);
        encoder.Frames.Add(frame);

        using (var stream = File.Create(fileName))
        {
            encoder.Save(stream);
        }
    }

遗憾的是,该图像未被保存。此外,我也不例外。希望你能看到我的错误。

谢谢

推荐答案

我基于这篇文章找到了另一个解决方案:How can I save the picture on image control in wpf?

所以我的解决方案,对我有效,是:

    String filePath = @"C:UsersxxxDesktop	est.jpg";

        var encoder = new PngBitmapEncoder();
        encoder.Frames.Add(BitmapFrame.Create((BitmapSource)qrImg.Source));
        using (FileStream stream = new FileStream(filePath, FileMode.Create))
        encoder.Save(stream);

这篇关于从图像保存图像-控制WPF c#的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆