                                   QR dllʹ˵
                    

   
   MakeQRBarcode.dllάDLLQRά룬windowsߡ
______________________________________________________________________________________________


//ͼƬλͼ
(C++)
1)int __stdcall Make(unsigned char* ucData, long nDataLen,long nErrLevel,
long nMask, int nBarEdition, const char* szBmpFileName, long nScale)
˵:ucData         
			(ֶ֧ݡԴļȡƣѸöַб
			磺CString filename = filedlg.GetPathName();
			    file.Read(szBuf, 1024);
  			    Make((BYTE*)szBuf, nDataLen, 1, 0, 0, "c:\\abc.bmp", 1);
			) 
	 nDataLen        ݳ(ע:ֽ) <=1K
	 szBmpFileName  ͼƬļBMPʽ	 
	 nMask          ģ0-8,0ʾԶɣ
	 nBarEdition 	0~40,0ʾԶ   
	 nErrLevel       ȼȡֵΧ0-3ȡ2-3
	 nScale          ɵBMPͼ1ΪСԭʼߴ


	 ֵ:0~41  	0ʾʧ  
			ʾǰʹõİ汾ֵ.
	                       
         ϲýֱӰĿɶԺͼƬĴС


:
	HINSTANCE hInst;
	typedef int  (__stdcall *MAKE)(unsigned char* ucData, long nDataLen,long nErrLevel,
		long nMask, int nBarEdition, const char* szBmpFileName, long nScale);

	MAKE Make;


	hInst = LoadLibrary("MakeQRBarcode.dll");
	
	Make = (MAKE)GetProcAddress(hInst, "Make");	


	Make("HL", strlen("HL"), 
		 1, 0, 0, "c:\\abc.bmp", 1);


//ϢͼƬϳɺ

2)int __stdcall MixText(const char* szSrcBmpFileName, 
		const char* szDstBmpFileName,
		char* szText,
		long lFontSize,
		long lTxtHeight,
		long lHmargin,
		long lVmargin,
		long lTxtCntOneLine)

˵:szSrcBmpFileName, ҪϢBMPļ
	szDstBmpFileName, Ӻֺ󱣴BMPļszSrcBmpFileNameͬ
	szText,ҪӵϢ,Ϊ
	lFontSize,ߴ磬Ϊ0lTxtHeightָĸ߶ȣԶ
		  Ϊ0ֱӸlFontSize壬lTxtHeight
	lTxtHeight,дĸ߶ȣlFontSizeΪ0Զ߶ȴ
	lHmargin,ˮƽ(߼ұߣԤĿհ,lFontSizeΪ0ʱұԤĿհؽһΪ
		lHmargin(Ϊ岢Ӧ)
	lVmargin,ֱִԤĿհ
	lTxtCntOneLine,һеֽע⣺12ֽڣ,Ϊ0ʾһУlTxtCntOneLineָ

lTxtHeight,lHmargin,lVmarginΪֵ


:
	MixText("c:\\abc.bmp", "c:\\abc.bmp", "aadfasdfadsf", 0, 20
		, 10, 10, 0);


//01ͼƬ
3)int __stdcall FlagMake(unsigned char* ucData, long nDataLen,long nErrLevel,
long nMask,int nBarEdition,BYTE* Buffer,int*BarSize)

	˺01ͼƬݣ0ʾɫ1ʾɫ.
	ȽBufferóNULL룬BarSizeʵҪQRͼεı߳Ȼٽ
	BufferBarSize*BarSizeռ䳤ȣBYTE룬01һBYTEһ㣬
	ϵ£ҵ˳Bufferռڵ.

˵:ucData          
	 nDataLen        ݳ(ע:ֽ) <=1K
	 nMask          ģ0-8,0ʾԶɣ
	 nBarEdition 	0~40,0ʾԶ   
	 nErrLevel       ȼȡֵΧ0-3ȡ2-3
	 Buffer		01Ļ(0ʾɫ1ʾɫ)ɵ÷ŷ䣬ռ䳤ȸBarSizeBarSizeBarSize
	 BarSize	QRͼεı߳	


	 ֵ:0~41  	0ʾʧ  
			ʾǰʹõİ汾ֵ.
	                       

:
	int nBarWidth = 0;
	BYTE* byBarDataBuffer = NULL;	
	FlagMake("HL", strlen("HL"), 
		 1, 0, 0, byBarDataBuffer , &nBarWidth);
	byBarDataBuffer = new BYTE[nBarWidth*nBarWidth];
	FlagMake("HL", strlen("HL"), 
		 1, 0, 0, byBarDataBuffer , &nBarWidth);
	//.... USE IT
	delete	byBarDataBuffer;


//ͼƬɵ
void __stdcall MakeToBuffer(unsigned char* ucData, long nDataLen,long nErrLevel,
long nMask, int nBarEdition,  long nScale,char ** ppBuffer, long* pBufferLen)
˵:ucData         
			(ֶ֧ݡԴļȡƣѸöַб
			磺CString filename = filedlg.GetPathName();
			    file.Read(szBuf, 1024);
  			    Make((BYTE*)szBuf, nDataLen, 1, 0, 0, "c:\\abc.bmp", 1);
			) 
	 nDataLen        ݳ(ע:ֽ) <=1K	 
	 nMask          ģ0-8,0ʾԶɣ
	 nBarEdition 	0~40,0ʾԶ   
	 nErrLevel       ȼȡֵΧ0-3ȡ2-3
	 nScale          ɵBMPͼ1ΪСԭʼߴ

	ppBuffer   	,BMPļ
	 pBufferLen	,*ppBufferָĳ
˵:   *ppBuffer  ָռɺڲʵͼƬС,̬,ʹ˺,ٵ
	FreeBufferһ,ͷſռ

	 
//ͷͼƬ
(C++)
void __stdcall FreeBuffer(char* pBuffer)		 
˵:
	ͷMakeToBufferڲĿռ



//֧jpg(jpeg) png bmpʽ֮Ļת

int ConvertPicType(char* sz_InFile, char* sz_OutFile)
˵sz_InFile ͼƬļ
	  sz_OutFile ͼƬļ
ֵ1 ɹ 0 ʧ

ӣConvertPicType("e:\\1.bmp","e:\\2.jpg");


__________________________________________________________________________________________________

(VB)
Private Declare Sub Make Lib "MakeQRBarcode.dll" _
(ucData As Byte, ByVal nLen As Long, ByVal nErr As Long, ByVal nMask As Long, 
ByVal nBarEdition As Long,ByVal szFileName As String, ByVal nScale As Long)


:
Dim a() As Byte
a = StrConv(Text1.Text, vbFromUnicode)
Make a(0), UBound(a) - LBound(a) + 1, 1, 1, 0, "abc.bmp", 5



ʾƣ
1nDataLen ݳ(ֽ) <=20ֽ
2nErr ȼ̶Ϊ1
3szBmpFileName ͼƬļ""Ŵ
4ʾֳΪ8ֽ



