Mercurial > hgrepos > Python2 > PyMuPDF
view mupdf-source/thirdparty/zxing-cpp/example/ZXingQtWriter.cpp @ 38:8934ac156ef5
Allow to build with the PyPI package "clang" instead of "libclang".
1. It seems to be maintained.
2. In the FreeBSD base system there is no pre-built libclang.so. If you
need this library you have to install llvm from ports additionally.
2. On FreeBSD there is no pre-built wheel "libclang" with a packaged
libclang.so.
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Tue, 23 Sep 2025 10:27:15 +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; }
