All Projects → guitarrapc → SkiaSharp.QrCode

guitarrapc / SkiaSharp.QrCode

Licence: MIT license
Qr Code Generator with Skia. (no System.Drawing)

Programming Languages

C#
18002 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to SkiaSharp.QrCode

QRCode-Telegram-bot
This is a simple bot. You generate QRcode with this bot
Stars: ✭ 12 (-83.33%)
Mutual labels:  qrcode, qrcode-generator
luaqrcode
Pure Lua qrcode library
Stars: ✭ 114 (+58.33%)
Mutual labels:  qrcode, qrcode-generator
next-qrcode
React hooks for generating QRCode for your next React apps.
Stars: ✭ 87 (+20.83%)
Mutual labels:  qrcode, qrcode-generator
EasyQRCodeJS-NodeJS
EasyQRCodeJS-NodeJS is a NodeJS server side javascript QRCode image(PNG/JPEG/SVG/Base64 data url) generator. Support setting Dot style, Logo, Background image, Colorful, Title and more. Support binary(hex) data mode.
Stars: ✭ 73 (+1.39%)
Mutual labels:  qrcode, qrcode-generator
qikQR
minimal desktop app to create QR codes.
Stars: ✭ 20 (-72.22%)
Mutual labels:  qrcode, qrcode-generator
Easyqrcodejs
EasyQRCodeJS is a feature-rich cross-browser pure JavaScript QRCode generation library. Support Canvas, SVG and Table drawing methods. Support Dot style, Logo, Background image, Colorful, Title etc. settings. Support Angular, Vue.js, React, Next.js framework. Support binary(hex) data mode.(Running with DOM on client side)
Stars: ✭ 215 (+198.61%)
Mutual labels:  qrcode, qrcode-generator
QRCodeGenLib4Pascal
Generates QR Codes from text strings and byte arrays.
Stars: ✭ 42 (-41.67%)
Mutual labels:  qrcode, qrcode-generator
Ngx Qrcode
An Angular 9/10 Component Library for Generating QR (Quick Response) Codes
Stars: ✭ 161 (+123.61%)
Mutual labels:  qrcode, qrcode-generator
qrencoder
🔳 Make QR codes in R via libqrencode
Stars: ✭ 59 (-18.06%)
Mutual labels:  qrcode, qrcode-generator
QRCodeFX
Simple tool to generate/read QR Code and export it.
Stars: ✭ 31 (-56.94%)
Mutual labels:  qrcode, qrcode-generator
nova-qrcode-field
A Laravel Nova field to generate QR Code
Stars: ✭ 28 (-61.11%)
Mutual labels:  qrcode, qrcode-generator
QRCode
A QRCode Generator in Swift
Stars: ✭ 67 (-6.94%)
Mutual labels:  qrcode, qrcode-generator
Qrcoder
A pure C# Open Source QR Code implementation
Stars: ✭ 2,794 (+3780.56%)
Mutual labels:  qrcode, qrcode-generator
flutter qr code scanner generator sharing
Flutter App For Scanning, Generating, Sharing QR Code
Stars: ✭ 137 (+90.28%)
Mutual labels:  qrcode, qrcode-generator
Offline Qr Code
📱 Browser add-on allowing you to quickly generate a QR code offline with the URL of the open tab or other text!
Stars: ✭ 193 (+168.06%)
Mutual labels:  qrcode, qrcode-generator
QRCode-Generator-PHP-Class
🚀 QRCode PHP class (library). QR Code Generator using vCard 4.0 and the Google Chart API
Stars: ✭ 91 (+26.39%)
Mutual labels:  qrcode, qrcode-generator
Barcode
barcode.php - Generate barcodes from a single PHP file. MIT license.
Stars: ✭ 141 (+95.83%)
Mutual labels:  qrcode, qrcode-generator
Springboot
用springboot + springmvc + mybatis + maven搭建成框架,基于Jersey, Swagger,SwaggerUi的restful API
Stars: ✭ 157 (+118.06%)
Mutual labels:  qrcode, qrcode-generator
BGAQRCode-Android
QRCode 扫描二维码、扫描条形码、相册获取图片后识别、生成带 Logo 二维码、支持微博微信 QQ 二维码扫描样式
Stars: ✭ 7,714 (+10613.89%)
Mutual labels:  qrcode, qrcode-generator
qrrs
CLI QR code generator and reader written in rust
Stars: ✭ 29 (-59.72%)
Mutual labels:  qrcode, qrcode-generator

dotnet-build release codecov License: MIT

NuGet

Skia.QrCode

Qr Code generator with Skia.Sharp.

Install

.NET CLI

$ dotnet add package SkiaSharp.QrCode

Package Manager

PM> Install-Package SkiaSharp.QrCode

Motivation

There are many System.Drawing samples to generate QRCode, and there are a lot of cases I want avoid System.Drawing for GDI+ issue. However, you may require many conding to generate QRCode using ZXing.Net or ImageSharp or Core.Compat.System.Drawing.

I just want to create QR in much simpler way.

Why Skia?

Performance and size and .NET Core support status.

.NET Core Image Processing

Sample Code

Here's minimum sample to generate specific qrcode via args.

using SkiaSharp;
using SkiaSharp.QrCode.Image;
using System;
using System.IO;

var content = "testtesttest";
using var output = new FileStream(@"output/hoge.png", FileMode.OpenOrCreate);

// generate QRCode
var qrCode = new QrCode(content, new Vector2Slim(256, 256), SKEncodedImageFormat.Png);
// output to file
qrCode.GenerateImage(output);

If you want specify detail, you can generate manually.

using SkiaQrCode;
using SkiaSharp;
using System;
using System.IO;

namespace SkiaQrCodeSampleConsole;

var content = "testtesttest";
using var generator = new QRCodeGenerator();

// Generate QrCode
var qr = generator.CreateQrCode(content, ECCLevel.L);

// Render to canvas
var info = new SKImageInfo(512, 512);
using var surface = SKSurface.Create(info);
var canvas = surface.Canvas;
canvas.Render(qr, info.Width, info.Height);

// Output to Stream -> File
using var image = surface.Snapshot();
using var data = image.Encode(SKEncodedImageFormat.Png, 100);
using var stream = File.OpenWrite(@"output/hoge.png");
data.SaveTo(stream);

TIPS

Linux support

You have 2 choice to run on Linux. If you don't need font operation, use SkiaSharp.NativeAssets.Linux.NoDependencies.

  1. Use SkiaSharp.NativeAssets.Linux package. In this case, you need to install libfontconfig1 via apt or others.
  2. Use SkiaSharp.NativeAssets.Linux.NoDependencies 2.80.2 or above. In this case, you don't need libfontconfig1.

SkiaSharp.NativeAssets.Linux.NoDependencies still can draw text, however can't search font cased on character or other fonts.

Detail: mono/SkiaSharp#964 (comment)

SkiaSharp.NativeAssets.Linux sample

sudo apt update && apt install -y libfontconfig1
<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net6.0</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="SkiaSharp.QrCode" Version="0.5.0" />
    <PackageReference Include="SkiaSharp.NativeAssets.Linux" Version="2.80.2" />
  </ItemGroup>
</Project>

SkiaSharp.NativeAssets.Linux.NoDependencies sample

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net6.0</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="SkiaSharp.QrCode" Version="0.5.0" />
    <PackageReference Include="SkiaSharp.NativeAssets.Linux.NoDependencies" Version="2.80.2" />
  </ItemGroup>
</Project>

Docker Build & Run

Test Build lib.

docker build -t skiasharp.qrcode .

Test Run on linux.

cd samples/LinuxRunSamples
docker-compose up

License

MIT

Thanks

aloisdeniel/Xam.Forms.QRCode : Qr Sample with Skia codebude/QRCoder : all QRCode generation algorithms

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].