如何使用内存流来保存图像而不使用保存文件对话框

时间:2017-01-30 00:05:48

标签: .net winforms c#-4.0

如何使用内存流替换保存文件对话框?

我为姓名,国家和成员生成qr代码

生成的qr代码没有任何问题

但我需要使用内存流来保存qr的图像而不使用保存文件对话框

我的代码如下

 using (SaveFileDialog sv = new SaveFileDialog() { Filter = "JPEG|.jpg", ValidateNames = true })
                    {
                        if (sv.ShowDialog() == DialogResult.OK)
                        {
                            MessagingToolkit.QRCode.Codec.QRCodeEncoder encoder = new MessagingToolkit.QRCode.Codec.QRCodeEncoder();
                            encoder.QRCodeScale = 8;


                            string encoding = "UserName : " + textBox4.Text + "\r\n" + "Country : " + comboBox3.Text + "\r\n" + "Membership :" + comboBox5.Text;


                            Bitmap bmp = encoder.Encode(encoding);
                            pictureBox1.Image = bmp;
                            path = sv.FileName;
                            bmp.Save(path, ImageFormat.Jpeg);
                        }

                    }

如何使用内存流替换保存文件对话框?

1 个答案:

答案 0 :(得分:0)

您可以直接将位图保存到内存流中:

MemoryStream memoryStream = new MemoryStream();
bmp.Save(memoryStream, System.Drawing.Imaging.ImageFormat.Png);