91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 428KB
    文件類型: .rar
    金幣: 2
    下載: 1 次
    發布日期: 2024-02-07
  • 語言: 其他
  • 標簽: Qt??Code39??

資源簡介

Qt 5.7 實現生成Code39條碼,獨立的類可直接移植,生成的圖片參數可設置,完整的Demo程序,直接編譯可運行

資源截圖

代碼片段和文件信息

/*****************************

??生成Code39條碼

??By?Jeff.Ma?2018-08-28

******************************/

#include?“code39.h“

Code39::Code39(QString?BarCode?QString?SavePath?int?fontSize)
{
????barcode?=?BarCode;
????path?=?SavePath;

????m_barHigh?=?40;
????m_barWidth?=?2;
????m_fontSize?=?fontSize;
????m_includeSN?=?false;


????InitMap();
????//start();
}

void?Code39::start(int?barWidth?int?high?bool?sn)
{
????m_includeSN?=?sn;
????m_barHigh?=?high;
????m_barWidth?=?barWidth;

????//校驗字符是否合法
????QString?com=“0123456789ABCDEFGHIJKLMNOPQISTUVWXWZ+-*/%$.?“;//合法字符模版
????for(int?i=0;i????{
????????if(!com.contains(barcode.at(i)))
????????{
????????????QMessageBox?msg;
????????????msg.setText(QStringLiteral(“條形碼字符不合法!\n合法字符:A~Z?0~9?+-/%$[空格]“));
????????????msg.exec();
????????????return;
????????}
????}
????draw(CodeBinary(barcode)barcode);
}

void?Code39::draw(QString?BinaryNumQString?barcode)
{
????int?maxWidth;

????//預留10px的左右空白;
????maxWidth?=?m_barWidth?*?BinaryNum.size()?+?5;

????//計算條線寬度時,精度丟失造成條碼右邊空白,進行右移居中
????int?move=(maxWidth?-?m_barWidth?*?BinaryNum.size())?/?2;

????QSize?size(maxWidth?m_barHigh?+?m_fontSize?+?5);
????QImage?image(size?QImage::Format_ARGB32);
????image.fill(qRgba(255?255?255?0));

????//QBitmap?bmp(maxWidthm_barHigh+m_fontSize);
????QPainter?painter(&image);
????QPen?whiteblack;
//????painter.setRenderHint(QPainter::Antialiasingtrue);//弧線圓潤
????white.setColor(QColor(255255255));
????black.setColor(QColor(000));
????white.setWidth(m_barWidth);
????black.setWidth(m_barWidth);

????//背景充填白色
????painter.setPen(white);
????painter.drawRect(0?0?maxWidth?m_barHigh?+?m_fontSize);

????//畫線
????for(int?i=0;i????{
????????if(BinaryNum.at(i)==‘1‘)?painter.setPen(black);
????????else?painter.setPen(white);
????????painter.drawLine(i*m_barWidth+m_barWidth/2+move0i*m_barWidth+m_barWidth/2+movem_barHigh);
????}

????qDebug()<????//添加底部條形碼字符
????painter.setPen(black);
????painter.setRenderHint(QPainter::Antialiasingtrue);
????painter.setRenderHint(QPainter::TextAntialiasingtrue);
????painter.setRenderHint(QPainter::HighQualityAntialiasingtrue);

????QFont?font;
//????font.setFamily(“宋體“);
????font.setPixelSize(m_fontSize);
????font.setWeight(QFont::ExtraLight);
????painter.setFont(font);

????if(m_includeSN?==?false)
????{
????????painter.drawText(5?m_barHigh?+?5?maxWidth?m_fontSize?Qt::AlignCenter?barcode);
????}
????else
????{
????????painter.drawText(5?m_barHigh?+?5?maxWidth?m_fontSize?Qt::AlignCenter?“S/N:“?+?barcode);
????}

????image.save(path?+?barcode?+?“.bmp“);
}


QString?Code39::CodeBinary(QString?barcode)
{
????barcode=“*“+barcode+“*“;
????QString?str=““;
????for(int?i=0;i????{
????????str+=map[barcode.at(i)]+“0“;//每個字符的二進制邏輯碼之間,用“0”隔開(加一條白線)
????}
????return?str;
}

void?Code39::InitMap(

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件??????63210??2020-03-18?22:03??DemoCode39\app\CODE39-00001.bmp

?????文件????2045579??2020-03-18?22:02??DemoCode39\app\DemoCode39.exe

?????文件???????5055??2020-03-18?21:53??DemoCode39\code39.cpp

?????文件????????753??2020-03-18?21:46??DemoCode39\code39.h

?????文件???????1162??2020-03-18?21:52??DemoCode39\democode39.cpp

?????文件????????384??2020-03-18?21:14??DemoCode39\democode39.h

?????文件???????1081??2020-03-18?21:14??DemoCode39\DemoCode39.pro

?????文件??????23454??2020-03-18?20:59??DemoCode39\DemoCode39.pro.user

?????文件???????4340??2020-03-18?22:02??DemoCode39\democode39.ui

?????文件????????183??2020-03-18?20:59??DemoCode39\main.cpp

?????目錄??????????0??2020-03-18?22:02??DemoCode39\app

?????目錄??????????0??2020-03-18?22:02??DemoCode39

-----------?---------??----------?-----??----

??????????????2145201????????????????????12


評論

共有 條評論