Github uses QRCodeGenerator to generate QR and transform a new code

Github search QRCodeGennerator, first go to
Insert picture description here
the new code image generated by the software interface , the role of this code is to use aruco to locate, and then use zbar to identify the QR code, together with identification and 3D positioning, first upload the image, then add the code
Insert picture description herecode modification

void MainWindow::updateQRImage()
{
    int sizeText = ui->pTextEditQRText->toPlainText().size();
    ui->labelSizeText->setText( QString::number( sizeText ) );

    int levelIndex = 1;
    int versionIndex = 0;
    bool bExtent = true;
    int maskIndex = -1;
    QString encodeString = ui->pTextEditQRText->toPlainText();

    successfulEncoding = qrEncode.EncodeData( levelIndex, versionIndex, bExtent, maskIndex, encodeString.toUtf8().data() );
    if ( !successfulEncoding )
    {
        ui->image_label->clear();
        ui->image_label->setText( tr("QR Code...") );
        ui->labelSize->clear();
        ui->pButtonSave->setEnabled( successfulEncoding );
        return;
    }

    int qrImageSize = qrEncode.m_nSymbleSize;

    // Создаем двумерный образ кода
    encodeImageSize = qrImageSize + ( QR_MARGIN * 2 + QR_INTERNAL * 2);
    QImage encodeImage( encodeImageSize, encodeImageSize, QImage::Format_Mono );
   //@peak.ding change value
    encodeImage.fill( 0 ); //default is 1

    //@peak.ding change black border
    for ( int i = 0; i < qrImageSize + QR_INTERNAL * 2; i++ )
        for ( int j = 0; j < qrImageSize + QR_INTERNAL * 2; j++ )
            //if ( qrEncode.m_byModuleData[i][j] )
                encodeImage.setPixel( i + QR_MARGIN, j + QR_MARGIN, 1 );

    // Создать двумерный образ кода
    for ( int i = 0; i < qrImageSize; i++ )
        for ( int j = 0; j < qrImageSize; j++ )
            if ( qrEncode.m_byModuleData[i][j] )
                encodeImage.setPixel( i + QR_MARGIN + QR_INTERNAL, j + QR_MARGIN + QR_INTERNAL, 0 );

    ui->image_label->setPixmap( QPixmap::fromImage( encodeImage ) );

    setScale(ui->sBoxScale->value());
    ui->pButtonSave->setEnabled( successfulEncoding );
}

See the note peak.ding change for modification.

Published 51 original articles · Like 13 · Visitors 20,000+

Guess you like

Origin blog.csdn.net/windxf/article/details/105485166