{"id":22640734,"url":"https://github.com/emptyshop/creaunqrcode","last_synced_at":"2025-03-29T05:25:47.241Z","repository":{"id":156622504,"uuid":"487121918","full_name":"EmptyShop/CreaUnQRCode","owner":"EmptyShop","description":"Generación de Códigos QR","archived":false,"fork":false,"pushed_at":"2022-06-25T18:22:58.000Z","size":740,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-03T15:55:01.926Z","etag":null,"topics":["csharp","netcore6","qrcoder"],"latest_commit_sha":null,"homepage":"","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/EmptyShop.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-04-29T22:07:10.000Z","updated_at":"2022-05-02T17:40:14.000Z","dependencies_parsed_at":null,"dependency_job_id":"bc37e98f-ce36-4a10-a192-cfcbbcc5aaf7","html_url":"https://github.com/EmptyShop/CreaUnQRCode","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EmptyShop%2FCreaUnQRCode","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EmptyShop%2FCreaUnQRCode/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EmptyShop%2FCreaUnQRCode/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EmptyShop%2FCreaUnQRCode/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/EmptyShop","download_url":"https://codeload.github.com/EmptyShop/CreaUnQRCode/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246143340,"owners_count":20730243,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["csharp","netcore6","qrcoder"],"created_at":"2024-12-09T04:13:35.830Z","updated_at":"2025-03-29T05:25:47.202Z","avatar_url":"https://github.com/EmptyShop.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CreaUnQRCode\nGeneración de Códigos QR\n## Porqué y Para Qué\nEste 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.\n## Cómo está Hecha la Aplicación\nUsé 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.\n\nGeneré 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:\n\n```sh\nQRCodeGenerator qrGenerator = new QRCodeGenerator();\nQRCodeData qrCodeData = qrGenerator.CreateQrCode(Mensaje, QRCodeGenerator.ECCLevel.Q);\nBitmapByteQRCode qrCode = new BitmapByteQRCode(qrCodeData);\n\nbyte[] qrCodeAsBitmapByteArr;\n\nqrCodeAsBitmapByteArr = qrCode.GetGraphic(parametrosApp.PixelsBloque,\nparametrosApp.DarkColor, parametrosApp.LightColor);\n\nelQRCode = new String(\"data:image/png;base64,\" + Convert.ToBase64String(qrCodeAsBitmapByteArr));\n```\n\nLa 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:\n\n```sh\n@{\n    if (!String.IsNullOrEmpty(Model.elQRCode))\n    {\n        \u003cdiv class=\"col-md-6\"\u003e\n            \u003cp class=\"pl-4 pt-1 ml-3 mb-0 lead font-weight-bold\"\u003eTu mensaje en QRCode:\u003c/p\u003e\n            \u003cimg src=\"@Model.elQRCode\" /\u003e\n        \u003c/div\u003e                    \n    }\n}\n```\n## Eso Fue Todo\nY 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.\n\nLes dejo la información que me fue muy útil para este proyecto:\n\n  * [NuGet Package QRCoder](https://nugetmusthaves.com/Package/QRCoder)\n  * [BitmapByteQRCode-Renderer in detail](https://github.com/codebude/QRCoder/wiki/Advanced-usage---QR-Code-renderers#24-bitmapbyteqrcode-renderer-in-detail)\n  * [Why are some renderers missing](https://github.com/codebude/QRCoder/issues/361)\n\nGracias por interesarse en este proyecto. Hasta pronto.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femptyshop%2Fcreaunqrcode","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Femptyshop%2Fcreaunqrcode","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femptyshop%2Fcreaunqrcode/lists"}