From: alex <bin...@li...> - 2001-09-09 06:53:43
|
alex Sat Sep 8 23:53:37 2001 EDT Added files: /r2/binarycloud/base/lib DrawBarcode.php Log: Esoteric BarCode draw script I thought would be hard to find in the future.. Index: r2/binarycloud/base/lib/DrawBarcode.php +++ r2/binarycloud/base/lib/DrawBarcode.php <?php $text = implode($argv, " "); $barcodeheight=40; $barcodethinwidth=2; $barcodethickwidth=$barcodethinwidth*3; $codingmap = Array("0"=> "000110100", "1"=> "100100001", "2"=> "001100001", "3"=> "101100000", "4"=> "000110001", "5"=> "100110000", "6"=> "001110000", "7"=> "000100101", "8"=> "100100100", "9"=> "001100100", "A"=> "100001001", "B"=> "001001001", "C"=> "101001000", "D"=> "000011001", "E"=> "100011000", "F"=> "001011000", "G"=> "000001101", "H"=> "100001100", "I"=> "001001100", "J"=> "000011100", "K"=> "100000011", "L"=> "001000011", "M"=> "101000010", "N"=> "000010011", "O"=> "100010010", "P"=> "001010010", "Q"=> "000000111", "R"=> "100000110", "S"=> "001000110", "T"=> "000010110", "U"=> "110000001", "V"=> "011000001", "W"=> "111000000", "X"=> "010010001", "Y"=> "110010000", "Z"=> "011010000", " "=> "011000100", "$"=> "010101000", "%"=> "000101010", "*"=> "010010100", "+"=> "010001010", "-"=> "010000101", "."=> "110000100", "/"=> "010100010"); $text = strtoupper($text); $text = "*$text*"; // add start/stop chars. $textlen = strlen($text); $barcodewidth = ($textlen)*(7*$barcodethinwidth+3*$barcodethickwidth)-$barcodethinwidth; $im = ImageCreate($barcodewidth,$barcodeheight); $black = ImageColorAllocate($im,0,0,0); $white = ImageColorAllocate($im,255,255,255); imagefill($im,0,0,$white); $xpos=0; for ($idx=0;$idx<$textlen;$idx++) { $char = substr($text,$idx,1); // make unknown chars a '-'; if (!isset($codingmap[$char])) $char = "-"; for ($baridx=0;$baridx<=8;$baridx++) { $elementwidth = (substr($codingmap[$char],$baridx,1)) ? $barcodethickwidth : $barcodethinwidth; if (($baridx+1)%2) { imagefilledrectangle($im,$xpos,0,$xpos+$elementwidth-1,$barcodeheight,$black); $xpos+=$elementwidth; } $xpos+=$barcodethinwidth; } } Header( "Content-type: image/gif"); ImageGif($im); ImageDestroy($im); return; ?> |