ZXing.Net Кодировать строку с QR-кодом в CF

Как я могу кодировать свою строку в QR-код, используя ZXing.Net?

Я уже могу декодировать, но имею проблемы с кодировкой. У этого есть ошибка, которая говорит: никакой кодировщик не доступен для формата AZTEC.

Вот мой код:

IBarcodeWriter writer = new BarcodeWriter();
Bitmap barcodeBitmap;
var result = writer.Encode("Hello").ToBitmap();
barcodeBitmap = new Bitmap(result);
pictureBox1.Image = barcodeBitmap;

Ответ 1

Вы не полностью инициализируете BarcodeWriter. Вы должны установить формат штрих-кода. Попробуйте следующий фрагмент кода:

IBarcodeWriter writer = new BarcodeWriter
{ Format = BarcodeFormat.QR_CODE };
var result = writer.Write("Hello");
var barcodeBitmap = new Bitmap(result);
pictureBox1.Image = barcodeBitmap;

Ответ 2

@dizzytri99er

Кажется, что я успешно закодировал сообщение с ZXing.net, поэтому я думаю, что он поддерживает кодировку Aztec

Это код, который я использовал;

    static void Main(string[] args)
    {
        IBarcodeWriter writer = new BarcodeWriter
            {
                Format = BarcodeFormat.AZTEC
            };
        Bitmap aztecBitmap;
        var result = writer.Write("I love you ;)");
        aztecBitmap = new Bitmap(result);

        using (var stream = new FileStream("test.bmp", FileMode.OpenOrCreate, FileAccess.ReadWrite))
        {
            var aztecAsBytes = ImageToByte(aztecBitmap);
            stream.Write(aztecAsBytes, 0, aztecAsBytes.Length);
        }
    }


    public static byte[] ImageToByte(Image img)
    {
        ImageConverter converter = new ImageConverter();
        return (byte[])converter.ConvertTo(img, typeof(byte[]));
    }

Ответ 3

Возможно, это размер кодов, которые вы сканируете?

посмотрите здесь

Лучший способ генерации и кодирования QR-кодов будет...

QR-кодер и Zbar