資源簡介
C++builder 二維碼生成源碼,
具體源碼在QR_Encode.h QR_Encode.cpp中,
main.cpp中是具體使用方法,
void __fastcall TForm1::Button1Click(TObject *Sender)
{
pQR_Encode=new CQR_Encode();
int nLevel =ComboBox1->ItemIndex;//糾錯等級
int nVersion =StrToInt(ComboBox2->Text);//版本
bool bAutoExtent =true;//是否自動擴展
int nMasking
代碼片段和文件信息
//---------------------------------------------------------------------------
#include?
#pragma?hdrstop
#include?“mian.h“
#include?“math.hpp“
#include?“QR_Encode.h“
#include?“graphics.hpp“
//---------------------------------------------------------------------------
#pragma?package(smart_init)
#pragma?resource?“*.dfm“
TForm1?*Form1;
CQR_Encode?*pQR_Encode;
//---------------------------------------------------------------------------
__fastcall?TForm1::TForm1(TComponent*?Owner)
????????:?TForm(Owner)
{
}
//---------------------------------------------------------------------------
void?__fastcall??TForm1::draw_box(TImage?*IMGint?xint?yint?sizeint?color)
{
????????if(color==0)//White
????????????????IMG->Canvas->Pen->Color=clWhite;
????????if(color==1)//Black
????????????????IMG->Canvas->Pen->Color=clBlack;
????????for(int?i=0;i ????????{
????????????????IMG->Canvas->MoveTo(x+iy);
????????????????IMG->Canvas->LineTo(x+iy+size);
????????}
}
//---------------------------------------------------------------------------
void?__fastcall?TForm1::Button1Click(Tobject?*Sender)
{
pQR_Encode=new?CQR_Encode();
????????int?nLevel?=ComboBox1->ItemIndex;//糾錯等級
int?nVersion?=StrToInt(ComboBox2->Text);//版本
bool?bAutoExtent?=true;//是否自動擴展
int?nMaskingNo?=?StrToInt(ComboBox3->Text);//掩碼模式
AnsiString?strEncodeData;//memo中的編碼字符
????????strEncodeData=Memo1->Text;
int?i?j;
int?size=3;
//二維碼矩陣的主調用函數
m_bDataEncoded?=?pQR_Encode->EncodeData(nLevel?nVersion?bAutoExtent?nMaskingNo?strEncodeData.c_str());
Image1->Width=(pQR_Encode->m_nSymbleSize*size+8);
Image1->Height=(pQR_Encode->m_nSymbleSize*size+8);
if?(m_bDataEncoded)
{
int?startx?=?QR_MARGIN;
//繪制二維碼
for?(i?=?0;?i?m_nSymbleSize;?++i)
{
int?starty?=?QR_MARGIN;
for?(j?=?0;?j?m_nSymbleSize;?++j)
{
if?(pQR_Encode->m_byModuleData[i][j])
draw_box(Image1startxstartysize1);
????????????????????????????????else
draw_box(Image1startxstartysize0);
starty?+=?size;
}
startx?+=?size;
}
}
else
{
????????????????ShowMessage(“wrong!!“);
}
delete?pQR_Encode;
}
//---------------------------------------------------------------------------
void?__fastcall?TForm1::Image1MouseMove(Tobject?*Sender?TShiftState?Shift
??????int?X?int?Y)
{
????????Label1->Caption=“(“+AnsiString(X)+““+AnsiString(Y)+“)“;
}
//---------------------------------------------------------------------------
void?__fastcall?TForm1::Button2Click(Tobject?*Sender)
{
????????Image1->Picture->SaveToFile(“QR.png“);
}
//---------------------------------------------------------------------------
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????2800??2019-08-12?11:18??mian.cpp
?????文件???????2787??2017-04-18?18:19??mian.dfm
?????文件???????1451??2017-04-18?18:18??mian.h
?????文件??????41809??2019-08-12?11:02??Project1.cbproj
?????文件???????1192??2019-08-12?11:02??Project1.cbproj.local
?????文件????????899??2017-04-18?18:20??Project1.cpp
?????文件????????166??2019-08-12?11:19??Project1.stat
?????文件?????????40??2017-04-18?18:15??Project1PCH1.h
?????文件??????68238??2015-10-07?23:38??QR_Encode.cpp
?????文件???????5081??2015-10-07?16:45??QR_Encode.h
-----------?---------??----------?-----??----
???????????????124463????????????????????10
- 上一篇:譚浩強c語言程序設計(PDF版)
- 下一篇:Qrcode二維碼生成C++
評論
共有 條評論