Coder Social home page Coder Social logo

creaunqrcode's Introduction

CreaUnQRCode

Generación de Códigos QR

Porqué y Para Qué

Este proyecto lo implementé cuando aprendí algo de Net Core y además estaba aprendiendo a leer códigos QR, entonces se me ocurrió generar una aplicación que genere códigos QR para usarlos en mi aplicación de lectura con el teléfono. De paso, practiqué lo que había aprendido de Net Core.

Cómo está Hecha la Aplicación

Usé Visual Studio 2022 para codificarla, la versión de Net Core que usé es la 6.0.202; también usé QRCoder 1.4.3. Y eso es todo.

Generé una aplicación web con un control de texto y un botón para generar el código QR. El código en c# que hace la magia es el siguiente:

QRCodeGenerator qrGenerator = new QRCodeGenerator();
QRCodeData qrCodeData = qrGenerator.CreateQrCode(Mensaje, QRCodeGenerator.ECCLevel.Q);
BitmapByteQRCode qrCode = new BitmapByteQRCode(qrCodeData);

byte[] qrCodeAsBitmapByteArr;

qrCodeAsBitmapByteArr = qrCode.GetGraphic(parametrosApp.PixelsBloque,
parametrosApp.DarkColor, parametrosApp.LightColor);

elQRCode = new String("data:image/png;base64," + Convert.ToBase64String(qrCodeAsBitmapByteArr));

La propiedad Mensaje de la clase principal está vinculada con el control de texto para escribir el mensaje que se va a codificar. La propiedad elQRCode de la clase principal es la que contiene el código QR en un formato PNG. En la parte HTML de la clase desplegamos el contenido de esta propiedad:

@{
    if (!String.IsNullOrEmpty(Model.elQRCode))
    {
        <div class="col-md-6">
            <p class="pl-4 pt-1 ml-3 mb-0 lead font-weight-bold">Tu mensaje en QRCode:</p>
            <img src="@Model.elQRCode" />
        </div>                    
    }
}

Eso Fue Todo

Y ya, fue una aplicación sencilla pero muy didáctica. La librería QRCoder resultó muy rápida y ligera; además contiene varias opciones como colores, tamaños, tipos de imágenes, tipos de códigos QR. El único detalle adverso que encontré fue que para Net Core 6, la librería QRCoder sólo permite un reducido conjunto de opciones. Espero que en el futuro ya puedan soportar las últimas versiones de Net Core.

Les dejo la información que me fue muy útil para este proyecto:

Gracias por interesarse en este proyecto. Hasta pronto.

creaunqrcode's People

Contributors

emptyshop avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.