Nov. 16, 2019, 3:32 p.m.

Как текст перевести в штрихкод code128

Добрый день.
Как перевести текст в штрихкод code128 (картинку или текст).
Скачал шрифт для этого штрихкода, но там видимо нужно еще как-то кодировать, а как я пока не понял.
Также попробовал эту библиотеку https://github.com/ftylitak/qzxing , но у нее отсуствует кодировщик QZXing::encodeData(data); хотя в документации он написан.

We recommend hosting TIMEWEB
We recommend hosting TIMEWEB
Stable hosting, on which the social network EVILEG is located. For projects on Django we recommend VDS hosting.
2

Взял этот код https://github.com/promixis/Code128/tree/master/src и сделал так

m_Barcode = new Code128Item();
    m_Barcode->setWidth( 200 );
    m_Barcode->setHeight( 80 );
    m_Barcode->setPos(0,0);
    m_Barcode->setText("Promixisegfe weg");
    m_Barcode->setHighDPI(true);
    m_Barcode->update();

    //m_Scene.update();


//    QRectF r =m_Barcode->boundingRect();
//    QPixmap pixmap(r.width(), r.height());
    QPixmap pixmap(m_Barcode->boundingRect().width() * 1.5, m_Barcode->boundingRect().height());
    pixmap.fill(QColor(0, 0, 0, 0));
    QPainter painter(&pixmap);
    //painter.setBrush(QBrush(QColor(0, 0, 0, 0)));
    //painter.drawRect(r);
//    m_Scene.render(&painter);
//    //m_Scene.render(&painter, QRectF(), m_Barcode->sceneBoundingRect());
//    painter.end();

//    QWidget widget;
//    QStyleOptionGraphicsItem styleOptionGraphicsItem ;
//    m_Barcode->paint(&painter, &styleOptionGraphicsItem, &widget); //(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)

    QPixmap pix(250, 80); // match the actual values if u change them
     QPainter paint(&pix);
     pix.fill( Qt::white );
     m_Barcode->paint(&paint,nullptr, nullptr);
     pix.save("/home/profitpoint/projects/testPrint/2.png");

Взял этот код https://github.com/promixis/Code128/tree/master/src и сделал так

m_Barcode = new Code128Item();
    m_Barcode->setWidth( 200 );
    m_Barcode->setHeight( 80 );
    m_Barcode->setPos(0,0);
    m_Barcode->setText("Promixisegfe weg");
    m_Barcode->setHighDPI(true);
    m_Barcode->update();

    //m_Scene.update();


//    QRectF r =m_Barcode->boundingRect();
//    QPixmap pixmap(r.width(), r.height());
    QPixmap pixmap(m_Barcode->boundingRect().width() * 1.5, m_Barcode->boundingRect().height());
    pixmap.fill(QColor(0, 0, 0, 0));
    QPainter painter(&pixmap);
    //painter.setBrush(QBrush(QColor(0, 0, 0, 0)));
    //painter.drawRect(r);
//    m_Scene.render(&painter);
//    //m_Scene.render(&painter, QRectF(), m_Barcode->sceneBoundingRect());
//    painter.end();

//    QWidget widget;
//    QStyleOptionGraphicsItem styleOptionGraphicsItem ;
//    m_Barcode->paint(&painter, &styleOptionGraphicsItem, &widget); //(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)

    QPixmap pix(250, 80); // match the actual values if u change them
     QPainter paint(&pix);
     pix.fill( Qt::white );
     m_Barcode->paint(&paint,nullptr, nullptr);
     pix.save("/home/profitpoint/projects/testPrint/2.png");

Comments

Only authorized users can post comments.
Please, Log in or Sign up
Donate

Hello, Dear Users of EVILEG!!!

If the site helped you, then support the development of the site financially, please.

You can do it by following ways:

Thank you, Evgenii Legotckoi

SB
Dec. 5, 2019, 8:01 a.m.
Sergej Bederin

C++ - Test 001. The first program and data types

  • Result:60points,
  • Rating points-1
AS
Dec. 4, 2019, 6:39 a.m.
Artur Salmin

C++ - Test 005. Structures and Classes

  • Result:33points,
  • Rating points-10
ST
Dec. 2, 2019, 4:05 p.m.
Sergej Timchenko

Qt - Test 001. Signals and slots

  • Result:68points,
  • Rating points-1
Last comments
Dec. 6, 2019, 12:47 p.m.
Evgenij Legotskoj

я подумал насчёт debug/release, но мне показалось - это сильно очевидным )))) Насчёт cmake согласен - он лучше
r
Dec. 6, 2019, 12:46 p.m.
romankoshelev

С cmake разобрался. Всетаки писать на нем сильно проще. С размером dll тоже разобрался. windeployqt надо давать флаг --release (тогда библиотеки в 20 раз меньше)
Dec. 6, 2019, 12:40 p.m.
Evgenij Legotskoj

Конечно, хорошо бы это дело и на cmake сделать, но если честно, в задачах у меня такого нет, а делать специально только это сейчас времени тоже не хватает. увы. А что касается гигабайта Qt…
r
Dec. 6, 2019, 11:37 a.m.
romankoshelev

А что сделать чтоб qt не тащило весь свой гигабайт в инсталлер?
Now discuss on the forum
Dec. 6, 2019, 7:10 a.m.
qml_puthon_user

Доброго времени суток. Пытаюсь сделать отображение с веб-камеры в графическом интерфейсе написанном на qml. Код программы: #системные библиотекиimport cv2import numpy as npimport…
Dec. 5, 2019, 4:12 p.m.
Evgenij Legotskoj

Это уже кастомная стилизация. Придётся отключать обрамление и самостоятельно реализовывать ресайз окна, его перемещение, стиль и т.д. Вот статья, как отключить обрамление окна - QML …
Dec. 5, 2019, 4:27 a.m.
qml_puthon_user

Вот код, вдруг, кому поможет. Код основной формы: import QtQuick 2.12import QtQuick.Controls 2.12import QtQuick.Layouts 1.3import "./Components/Panels" as PanelsApplicationWindow{…
Dec. 5, 2019, 2:50 a.m.
Evgenij Legotskoj

Создавайте новые темы, чтобы не было всё в куче.
Dec. 4, 2019, 10:07 p.m.
qml_puthon_user

Спасибо за помощь! :) Я попытаю надежды в ожидании QtQuick3D от Riverbank'a. :)
EVILEG
About
Services
© EVILEG 2015-2019
Recommend hosting TIMEWEB