PKHeX/PKHeX.Drawing.Misc/QR/QREncode.cs
Kurt aa968f56aa File scoped namespace for drawing projects
Extract color util to separate class as it's not entirely image related.
2021-12-10 00:15:04 -08:00

26 lines
887 B
C#

using System.Drawing;
using PKHeX.Core;
using QRCoder;
namespace PKHeX.Drawing.Misc;
public static class QREncode
{
public static Image GenerateQRCode(DataMysteryGift mg) => GenerateQRCode(QRMessageUtil.GetMessage(mg));
public static Image GenerateQRCode(PKM pkm) => GenerateQRCode(QRMessageUtil.GetMessage(pkm));
public static Image GenerateQRCode7(PK7 pk7, int box = 0, int slot = 0, int copies = 1)
{
byte[] data = QR7.GenerateQRData(pk7, box, slot, copies);
var msg = QRMessageUtil.GetMessage(data);
return GenerateQRCode(msg, ppm: 4);
}
private static Image GenerateQRCode(string msg, int ppm = 4)
{
using var generator = new QRCodeGenerator();
using var data = generator.CreateQrCode(msg, QRCodeGenerator.ECCLevel.Q);
using var code = new QRCode(data);
return code.GetGraphic(ppm);
}
}