Dysan Posted January 9, 2008 Share Posted January 9, 2008 The following code, creates a barcode containing a value of "111111". Upon changing the string to "101010", the barcode resizes outside outside the boundarys of the surround square. How do I keep the bar code inside the square, regardless of it's containing value? The value will change, but will always be 6 characters in length! Many Thanks, Dysan <?php $rectangle_width = 2; $rectangle_height = 100; $image = imagecreatetruecolor(300, 188); $white = imagecolorallocate($image, 255, 255, 255); $black = imagecolorallocate($image, 0, 0, 0); imagefill($image, 0, 0, $white); imagerectangle($image, 0, 0, 298, 186, $black); $find = array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '*'); $replace = array('1010001110111010', '1110100010101110', '1011100010101110', '1110111000101010', '1010001110101110', '1110100011101010', '1011100011101010', '1010001011101110', '1110100010111010', '1011100010111010', '1000101110111010'); $string = '*111111*'; $textstring = str_replace($find, $replace, $string); $j = 11; $sarray = str_split($textstring, 1); for($i = 0; $i < count($sarray); $i++) { if($sarray[$i] == '0') { imagefilledrectangle($image, $rectangle_width * $j, 150, ($rectangle_width * $j) + $rectangle_width, $rectangle_height, $white); $j++; } elseif($sarray[$i] == '1') { imagefilledrectangle($image, $rectangle_width * $j, 150, ($rectangle_width * $j) + $rectangle_width, $rectangle_height, $black); $j++; } } imagettftext($image, 10, 0, 120, 170, $black, "Verdana", $string); header("Content-type: image/jpeg"); imagejpeg($image); imagedestroy($image); ?> Link to comment https://forums.phpfreaks.com/topic/85272-resize-barcode/ Share on other sites More sharing options...
neylitalo Posted January 10, 2008 Share Posted January 10, 2008 Use a monospace font and adjust your image size accordingly. With monospace fonts, all characters are the same width. For example: 101010101010101010 111111111111111111 As opposed to: 101010101010101010 111111111111111111 Link to comment https://forums.phpfreaks.com/topic/85272-resize-barcode/#findComment-435148 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.