Podgląd pliku: / jacekk.info / int2of5.phps
<?php
/***************************************************
* Kody kreskowe - Interleaved 2 of 5 *
***************************************************
* Wersja: 1.1 *
* Autor: Jacek Kowalski (http://jacekk.info) *
* *
* Strona WWW: http://jacekk.info/scripts/barcodes *
* *
* Utwór rozprowadzany na licencji *
* http://creativecommons.org/licenses/by-nc/2.5/ *
***************************************************/
/* Kodowanie znaków UTF-8 */
if(trim($_GET['kod'], '0123456789')!='' OR strlen($_GET['kod'])%2 != 0) {
echo 'Znaki inne niż cyfry lub nieparzysta ich ilość';
die();
}
$code = array(
'start' => '1010',
'0' => '1010111101111010',
'1' => '1111010101011110',
'2' => '1011110101011110',
'3' => '1111011110101010',
'4' => '1010111101011110',
'5' => '1111010111101010',
'6' => '1011110111101010',
'7' => '1010101111011110',
'8' => '1111010101111010',
'9' => '1011110101111010',
'stop' => '111101'
);
function gen_binary($kod) {
global $code;
$ret = '';
for($i=0; $i<strlen($kod); $i+=2) {
$now_b = explode('0', $code[substr($kod, $i, 1)]);
$now_s = explode('0', $code[substr($kod, $i+1, 1)]);
foreach($now_b as $key => $val) {
$ret .= $val.str_replace('1', '0', $now_s[$key]);
}
}
return $ret;
}
function print_code($kod, $img) {
global $b;
$now = 0;
$kod = str_split($kod);
foreach($kod as $val) {
if($val==1) {
imageline($img, $now, 0, $now, 40, $b);
}
$now++;
}
}
$kod = $code['start'].gen_binary($_GET['kod']).$code['stop'];
$i = imagecreate(strlen($kod), 40);
$w = imagecolorallocate($i, 255, 255, 255);
$b = imagecolorallocate($i, 0, 0, 0);
print_code($kod, $i);
header('Content-type: image/gif');
imagegif($i);
?>
Browse Code © 2010 by Jacek Kowalski