Los códigos QR (Quick Response Code) son códigos bidimensionales que pueden almacenar pequeñas cantidades de información, por ejemplo, una URL, y ser leídos fácilmente con lectores especializados o con casi cualquier dispositivo que cuente con una cámara de fotos.
Para nuestro ejemplo utilizaremos la libreria
QrCode.NET
Para incluirla en el proyecto, puedes descargarla desde su web o instalarla como un paquete NuGet:
Para poder agregar libreria QrCode.net. sigue las siguiente imágenes.
Una vez agregado la libreria diseñamos nuestro formulario como la imagen siguiente.
los controles utilizados son: button, Panel, Label.
Codigo fuente:
codigo para button Generar.
private void button1_Click(object sender, EventArgs e)
{
QrEncoder qrEncoder = new QrEncoder(ErrorCorrectionLevel.H);
QrCode qrCode = new QrCode();
qrEncoder.TryEncode(txtvalor.Text, out qrCode);
GraphicsRenderer renderer = new GraphicsRenderer(new FixedCodeSize(400, QuietZoneModules.Zero), Brushes.Black, Brushes.White);
MemoryStream ms = new MemoryStream();
renderer.WriteToStream(qrCode.Matrix, ImageFormat.Png, ms);
var imageTemporal = new Bitmap(ms);
var imagen = new Bitmap(imageTemporal, new Size(new Point(200, 200)));
panel1.BackgroundImage = imagen;
// Guardar en el disco duro la imagen (Carpeta del proyecto)
imagen.Save("imagen.png", ImageFormat.Png);
button2.Enabled = true;
}
codigo para button Guardar.
private void button2_Click(object sender, EventArgs e)
{
Image imgFinal = (Image)panel1.BackgroundImage.Clone();
SaveFileDialog CajaDeDiaologoGuardar = new SaveFileDialog();
CajaDeDiaologoGuardar.AddExtension = true;
CajaDeDiaologoGuardar.Filter = "Image PNG (*.png)|*.png";
CajaDeDiaologoGuardar.ShowDialog();
if (!string.IsNullOrEmpty(CajaDeDiaologoGuardar.FileName))
{
imgFinal.Save(CajaDeDiaologoGuardar.FileName, ImageFormat.Png);
}
imgFinal.Dispose();
}
Resultado final.
Descargar el proyecto. link aqui
Eso seria todo ,espero haberlo ayudado..