Mercurial > hgrepos > Python2 > PyMuPDF
diff mupdf-source/thirdparty/zxing-cpp/example/ZXingQtWriter.cpp @ 2:b50eed0cc0ef upstream
ADD: MuPDF v1.26.7: the MuPDF source as downloaded by a default build of PyMuPDF 1.26.4.
The directory name has changed: no version number in the expanded directory now.
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Mon, 15 Sep 2025 11:43:07 +0200 |
| parents | |
| children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mupdf-source/thirdparty/zxing-cpp/example/ZXingQtWriter.cpp Mon Sep 15 11:43:07 2025 +0200 @@ -0,0 +1,52 @@ +/* + * 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; +}
