https://github.com/xevilmaxx/qrcodegenerator
Cross plafrom C# Qr code image generator
https://github.com/xevilmaxx/qrcodegenerator
cross-platform crossplatform csharp net7 net70 qr qrcode qrcode-generator
Last synced: about 2 months ago
JSON representation
Cross plafrom C# Qr code image generator
- Host: GitHub
- URL: https://github.com/xevilmaxx/qrcodegenerator
- Owner: xevilmaxx
- Created: 2023-03-13T09:14:27.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2023-03-13T10:47:40.000Z (over 3 years ago)
- Last Synced: 2025-02-28T07:57:04.398Z (over 1 year ago)
- Topics: cross-platform, crossplatform, csharp, net7, net70, qr, qrcode, qrcode-generator
- Language: C#
- Homepage:
- Size: 200 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# QrCodeGenerator
Cross plafrom C# Qr code image generator
# Simple wrapper around:
https://github.com/manuelbl/QrCodeGenerator
## Advantages
* Select Driver even on runtime
* Robustness in case on some platforms, some drawing libraries are having problems
* Modern Fluent API initialization (surely improvable)
* Added ready to use Payloads (allows generation of specific QrCodes)
* You can expand easily to support more advanced features exposed by original Library
* Added usage sample in Blazor
## Example Syntax
```csharp
var qr = new QrDrawerFactory().GetDriver(DrawDriverType.SkiaSharp)
.SetQr("Hello World")
.SetImageFormat(CommonImageFormat.Png)
.GetBytes();
//------------------------------------------------------------------------------------
var msg = new PayloadGenerator.ContactData(
PayloadGenerator.ContactData.ContactOutputType.VCard4,
"Name",
"Surname",
"EvilMax"
).ToString();
var qr2 = new QrDrawerFactory().GetDriver(DrawDriverType.ImageSharp)
.SetQr(msg)
.SetImageFormat(CommonImageFormat.Png)
.Save("./Test.png");
```
### Interface:
```csharp
public abstract GenericDrawer SetQr(QrCode QrCode);
public GenericDrawer SetQr(string QrText);
public abstract GenericDrawer SetScale(int Scale);
public abstract GenericDrawer SetBorder(int Border);
public abstract GenericDrawer SetForegroundColor(string Color);
public abstract GenericDrawer SetBackgroundColor(string Color);
public abstract GenericDrawer SetImageFormat(CommonImageFormat ImageFormat);
public abstract byte[] GetBytes();
public abstract bool Save(string Path);
```
### Drivers Support:
* SkiaSharp
* ImageSharp
* Open to expansions...