Mercurial > hgrepos > Python2 > PyMuPDF
view mupdf-source/thirdparty/zxing-cpp/example/ZXingQtWriter.cpp @ 32:72c1b70d4f5c
Also apply -Werror=implicit-function-declaration
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Sun, 21 Sep 2025 15:10:12 +0200 |
| parents | b50eed0cc0ef |
| children |
line wrap: on
line source
/* * Copyright 2023 Axel Waggershauser */ // SPDX-License-Identifier: Apache-2.0 #include "BarcodeFormat.h" #ifdef ZXING_EXPERIMENTAL_API #include "WriteBarcode.h" #else #include "BitMatrix.h" #include "MultiFormatWriter.h" #endif #include <QDebug> #include <QImage> namespace ZXingQt { QImage WriteBarcode(QStringView text, ZXing::BarcodeFormat format) { using namespace ZXing; #ifdef ZXING_EXPERIMENTAL_API auto barcode = CreateBarcodeFromText(text.toString().toStdString(), format); auto bitmap = WriteBarcodeToImage(barcode); #else auto writer = MultiFormatWriter(format); auto matrix = writer.encode(text.toString().toStdString(), 0, 0); auto bitmap = ToMatrix<uint8_t>(matrix); #endif return QImage(bitmap.data(), bitmap.width(), bitmap.height(), bitmap.width(), QImage::Format::Format_Grayscale8).copy(); } } // namespace ZXingQt int main(int argc, char* argv[]) { if (argc != 4) { qDebug() << "usage: ZXingQtWriter <format> <text> <filename>"; return 1; } auto format = ZXing::BarcodeFormatFromString(argv[1]); auto text = QString(argv[2]); auto filename = QString(argv[3]); auto result = ZXingQt::WriteBarcode(text, format); result.save(filename); return 0; }
