3.实际应用
对于上面有个大概的了解后,下面我们可以重新整合下代码,更加方便的使用它。
首先新建buildcode.php文件中,根据test.php文件进行改写,从请求的文件中获取数据:
1.条形码的编码格式
2.条形码需要的数据内容
- View Code
- <?php
- // Including all required classes
- require_once('class/BCGFontFile.php');
- require_once('class/BCGColor.php');
- require_once('class/BCGDrawing.php');
- $codebar = $_REQUEST['codebar']; //条形码将要数据的内容
- // Including the barcode technology
- require_once('class/'.$codebar.'.barcode.php');
- // Loading Font
- $font = new BCGFontFile('./class/font/Arial.ttf', 12);
- // The arguments are R, G, B for color.
- $color_black = new BCGColor(0, 0, 0);
- $color_white = new BCGColor(255, 255, 255);
- $drawException = null;
- try {
- $code = new $codebar();//实例化对应的编码格式
- $code->setScale(2); // Resolution
- $code->setThickness(23); // Thickness
- $code->setForegroundColor($color_black); // Color of bars
- $code->setBackgroundColor($color_white); // Color of spaces
- $code->setFont($font); // Font (or 0)
- $text = $_REQUEST['text']; //条形码将要数据的内容
- $code->parse($text);
- } catch(Exception $exception) {
- $drawException = $exception;
- }
- /* Here is the list of the arguments
- - Filename (empty : display on screen)
- - Background color */
- $drawing = new BCGDrawing('', $color_white);
- if($drawException) {
- $drawing->drawException($drawException);
- } else {
- $drawing->setBarcode($code);
- $drawing->draw();
- }
- // Header that says it is an image (remove it if you save the barcode to a file)
- header('Content-Type: image/png');
- // Draw (or save) the image into PNG format.
- $drawing->finish(BCGDrawing::IMG_FORMAT_PNG);
- ?>
然后新建test.html文件,向buildcode.php请求数据
- <!DOCTYPE html>
- <html>
- <head>
- <title>Test with embedded image</title>
- </head>
- <body>
- <img src="buildcode.php?codebar=BCGcode39&text=abc123"/>
- </body>
- </html>
最后访问http://localhost/barcodegen/test.html或访问http://localhost/barcodegen/buildcode.php?codebar=BCGcode39&text=abc123,浏览器直接生成png格式的条形码
其中codebar支持的编码格式可以由用户请求所得:
- /*'BCGcodabar','BCGcode11','BCGcode39','BCGcode39extended','BCGcode93',
- 'BCGcode128','BCGean8','BCGean13','BCGisbn','BCGi25','BCGs25','BCGmsi',
- 'BCGupca','BCGupce','BCGupcext2','BCGupcext5','BCGpostnet','BCGothercode'*/
剩下的就是验证了
PHP之友评论