ホームページ >バックエンド開発 >PHPチュートリアル >PHP を使用してログイン バーコード検証コードを実装する_PHP チュートリアル

PHP を使用してログイン バーコード検証コードを実装する_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 17:37:491095ブラウズ

関数 UPCAバーコード($code) {
  $lw = 2; $hi = 100;
  $Lencode = 配列(0001101,0011001,0010011,0111101,0100011,
)                    0110001,0101111,0111011,0110111,0001011);
  $Rencode = 配列(1110010,1100110,1101100,1000010,1011100,
)                    1001110,1010000,1000100,1001000,1110100);
  $ends = 101; $center = 01010;
  /* UPC-A は 11 桁である必要があり、チェックサムを計算します。 */
  if ( strlen($code) != 11 ) { die("UPC-A は 11 桁である必要があります。"); }
  /* EAN-13 チェックサムの桁を計算します */
  $ncode = 0.$code;
  $even = 0; $奇数 = 0;
  for ($x=0;$x     if ($x % 2) { $odd += $ncode[$x]; } else { $even += $ncode[$x]; }
  }
  $code.=(10 - (($odd * 3 + $even) % 10)) % 10;
  /* バイナリ文字列を使用してバーエンコーディングを作成します */
  $bars=$ends;
  $bars.=$Lencode[$code[0]];
  for($x=1;$x     $bars.=$Lencode[$code[$x]];
  }
  $bars.=$center;
  for($x=6;$x     $bars.=$Rencode[$code[$x]];
  }
  $bars.=$ends;
  /* バーコード画像を生成します */
  $img = ImageCreate($lw*95+30,$hi+30);
  $fg = ImageColorAllocate($img, 0, 0, 0);
  $bg = ImageColorAllocate($img, 255, 255, 255);
  ImageFilledRectangle($img, 0, 0, $lw*95+30, $hi+30, $bg);
  $shift=10;
  for ($x=0;$x     if (($x=45 && $x=85)) { $sh=10; } else { $sh=0; }
    if ($bars[$x] == 1) { $color = $fg; } else { $color = $bg; }
    ImageFilledRectangle($img, ($x*$lw)+15,5,($x+1)*$lw+14,$hi+5+$sh,$color);
  }
  /* 人間が読めるラベルを追加します */
  ImageString($img,4,5,$hi-5,$code[0],$fg);
  for ($x=0;$x     ImageString($img,5,$lw*(13+$x*6)+15,$hi+5,$code[$x+1],$fg);
    ImageString($img,5,$lw*(53+$x*6)+15,$hi+5,$code[$x+6],$fg);
  }
  ImageString($img,4,$lw*95+17,$hi-5,$code[11],$fg);
  /* ヘッダーとコンテンツを出力します。 */
  header("Content-Type: image/png");
  画像PNG($img);
}

UPCAバーコード(12345678901);

?>

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/486539.html技術記事 ?php 関数 UPCAbarcode($code) { $lw = 2; $hi = 100; $Lencode = 配列(0001101,0011001,0010011,0111101,0100011, 0110001,0101111,0111011,0110111,0001011); $Rencode = array(1110010,...
)
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。