using System.Text;
using System.Windows.Forms;
using ThoughtWorks.QRCode.Codec;
namespace WinFormsApp1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
pictureBox1.Image = CodeImage2(textBox1.Text.Trim());
}
/// <summary>
/// 纯文本有汉字生成
/// https://www.cnblogs.com/rzm2wxm/p/16529875.html
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public Bitmap CodeImage2(string str)
{
//实例化一个生成二维码的对象
QRCodeEncoder qrEncoder = new QRCodeEncoder();
//设置二维码的编码模式
qrEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;
//二维码像素宽度
qrEncoder.QRCodeScale = 6;
//设置版本
qrEncoder.QRCodeVersion = 0;
//根据内容生成二维码图像
Bitmap image = null;
image = qrEncoder.Encode(str, Encoding.UTF8);
return image;
}
private void button2_Click(object sender, EventArgs e)
{
OpenFileDialog openFileDialog1 = new OpenFileDialog();
//指定查找的文件类型
openFileDialog1.Filter = "@.Jpg|*.jpg|@.Png|*.png|@.Gif|*.gif|@.All files|*.*";
//该对话框会返回一个DialogResult类型的值,DialogResult.OK或者DialogResult.NO
DialogResult dr = openFileDialog1.ShowDialog();
if (dr == DialogResult.OK)
{
//通过输入文件目录,文件模式,访问模式等参数,通过流打开文件
FileStream fs = new FileStream(openFileDialog1.FileName, FileMode.Open, FileAccess.Read);
//通过调用系统的画笔工具,画出一个Image类型的数据,传给pictureBox。
Image im = System.Drawing.Bitmap.FromStream(fs);
pictureBox1.Image = im;
//pictureBox2.Image = im;
//pictureBox3.Image = im;
//pictureBox4.Image = im;
}
}
private void button3_Click(object sender, EventArgs e)
{
SaveFileDialog saveFileDialog1 = new SaveFileDialog();
saveFileDialog1.Title = "附件另存";
saveFileDialog1.Filter = "jpg图片|*.JPG|gif图片|*.GIF|png图片|*.PNG|jpeg图片|*.JPEG";
saveFileDialog1.FilterIndex = 3;//设置默认文件类型显示顺序
saveFileDialog1.RestoreDirectory = true; //点了保存按钮进入if (picBox1.Image != null)
{
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
string pictureName = saveFileDialog1.FileName;
//照片另存
using (MemoryStream mem = new MemoryStream())
{
//这句很重要,不然不能正确保存图片或出错(关键就这一句)
Bitmap bmp = new Bitmap(pictureBox1.Image);
//保存到磁盘文件
bmp.Save(@pictureName, pictureBox1.Image.RawFormat);
bmp.Dispose();
MessageBox.Show("附件另存成功!", "注意", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
else
{
MessageBox.Show("没有附件信息!", "注意", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
}
}
}