123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- #include "scanengine.h"
- #include "qtwainscannermanager.h"
- #include "qtwainscanner.h"
- #include <QBuffer>
- #include <QDebug>
- ScanEngine::ScanEngine() : m_scanner(nullptr)
- {
- QList<QString> scanners = QtTWAIN::QTWAINScannerManager::scannerList();
- qDebug() << scanners;
- if (scanners.size() > 0) {
- m_scanner = QtTWAIN::QTWAINScannerManager::acquireScanner(scanners.at(0));
- QObject::connect(m_scanner, &QtTWAIN::QTWAINScanner::imageReady, this, [this](const QImage &img) {
- QByteArray imgData;
- QBuffer buff(&imgData);
- buff.open(QIODevice::WriteOnly);
- img.save(&buff, "PNG");
- m_scannedImage = imgData.toBase64();
- scannedImageChanged();
- });
- }
- }
- ScanEngine::~ScanEngine() {
- if (m_scanner != nullptr) {
- QtTWAIN::QTWAINScannerManager::releaseScanner(m_scanner);
- disconnect(m_scanner);
- }
- }
- QString ScanEngine::scannerName() const
- {
- if (m_scanner == nullptr) {
- return {};
- }
- return m_scanner->name();
- }
- void ScanEngine::scan() {
- m_scanner->scan();
- }
|