                                  MakeBarCodeOne dll使用说明
                    

   
   MakeBarCodeOne.dll一维条码生成DLL，用以生成各种一维条码，适用于windows环境开发工具。

____________________________________________________________________________________________
本库所支持条码类型编号 nBarType 如下
Code_2_5_interleaved		----- 0
Code_2_5_industrial		----- 1
Code_2_5_matrix			----- 2
Code39				----- 3
Code39Extended			----- 4
Code128A			----- 5
Code128B			----- 6
Code128C			----- 7
Code93				----- 8
Code93Extended			----- 9
CodeMSI				----- 10
CodePostNet			----- 11
CodeCodabar			----- 12
CodeEAN8			----- 13
CodeEAN13			----- 14
CodeUPC_A			----- 15
CodeUPC_E0			----- 16
CodeUPC_E1			----- 17
CodeUPC_Supp2			----- 18   	//{ UPC 2 digit supplemental }
CodeUPC_Supp5			----- 19	//{ UPC 5 digit supplemental }
CodeEAN128A			----- 20
CodeEAN128B			----- 21
CodeEAN128C			----- 22
Code128Auto			----- 23	自动选择code128码的字符集


(C++)
int__stdcall Make(char* szData, long nBarType, long nPicHeight,char* szBmpFileName,long nScale);

参数说明:szData         条码数据  各种类型条码所支持数据类型不同
	 nBarType       条码类型编号
	 nPicHeight	生成条码图片的高度,象素
	 szBmpFileName  生成条码的图片文件名，BMP格式
         nScale         缩放生成的BMP图像，1为最小的原始尺寸
返回式： -1 表示生成条码失败	 

如:
HINSTANCE hInst;
typedef  int(__stdcall *MAKE)(char* szData, long nBarType, long nPicHeight,char* szBmpFileName);
MAKE Make;
hInst = LoadLibrary("MakeBarCodeOne.dll");
Make = (MAKE)GetProcAddress(hInst, "Make");	
Make("1234567890", 5,40,"c:\\abc.bmp");

____________________________________________________________________________________________________
//生成0，1代表的条码图片数据
2)(dllexport) int FlagMake(char* szData, long nBarType, long nPicHeight,BYTE* Buffer,int*BarWidth)
描述：
	此函数用来生成0，1代表的条码图片数据，0表示黑色，1表示白色.
	先将Buffer置成NULL传入，BarSize将返回实际需要的一维条码的宽度，然后再将
	Buffer分配空间长度（BYTE），传入，
	从上到下，从左到右的顺序，填充Buffer空间内的数据.（由于一维条码的每行相同， 只返回第一行的点阵）

参数说明:szData,          条码数据 
	 nBarType       条码类型编号
	 Buffer		填充0，1的缓冲区(0表示黑色，1表示白色)，需由调用放分配，空间长度根据BarSize决定（BarSize×BarSize）
	 BarWidth	一维条码的宽度	
返回式： -1 表示生成条码失败
	                       

如:
	int nBarWidth = 0;
	BYTE * buffer = NULL;
	FlagMake("0",6,buffer,&nBarWidth); 
	buffer =new BYTE[nBarWidth];
	FlagMake("0",6,buffer,&nBarWidth);
	//.... USE IT
	delete	buffer 
____________________________________________________________________________________________________
//合成含文字信息的条码图片
3)(dllexport) int 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              字体尺寸，可以为0，代表根据lTxtHeight指定的文字区的高度，来自动创建字体，若不为0，则直接根据lFontSize创建字体，lTxtHeight将不起作用。

          lTxtHeight             文字书写区的高度，若lFontSize为0，将自动根据这个高度创建字体。

          lHmargin               文字水平方向(左边及右边）预留的空白象素,在lFontSize不为0时，右边预留的空白象素将不一定为lHmargin(因为字体并不是自适应的)

          lVmargin               文字垂直方向预留的空白象素

          lTxtCntOntLine         一行的字节数（注意：1个中文字算2个字节）,若为0，则把所有文字显示在一行，否则按照lTxtCntOneLine指定lTxtHeight,lHmargin,lVmargin均为象素值
        

如：
           	MixText("c:\\abc.bmp", "c:\\abc.bmp", "aadfasdfadsf", 0, 20
		, 10, 10, 0);
____________________________________________________________________________________________________
//旋转图片的角度
4)(dllexport) int RotateAngle(const char* szSrcBmpFileName, const char* szDstBmpFileName, long lAngle)

参数说明：szSrcBmpFileName      需要旋转的BMP文件

          szDstBmpFileName      旋转好后保存的BMP文件，可以与szSrcBmpFileName同名

          lAngle                需要旋转的角度(大于0)

如：
         RotateAngle("c:\\abc.bmp", "c:\\abc.bmp"，90)；


____________________________________________________________________________________________________
(VB)
Private Declare Sub Make Lib "MakeBarCodeOne.dll" _
(ByVal szData As String, ByVal nBarType As Long, ByVal nPicHeight As Long, ByVal szBmpFileName As String)

如:
Make DataText.Text, TypeCombo.ListIndex, CLng(PicHeightText.Text), "abc.bmp"



