728x90
다음은 Code 39 형식의 바코드를 생성하는 예제입니다.
Code 39는 간단한 1D 바코드 형식으로, 숫자와 문자를 모두 인코딩할 수 있습니다.
Code 39 바코드 생성 예제
<?php
// Code 39 바코드 패턴 정의
$code39 = array(
'0' => '101001101101',
'1' => '110100101011',
'2' => '101100101011',
'3' => '110110010101',
'4' => '101001101011',
'5' => '110100110101',
'6' => '101100110101',
'7' => '101001011011',
'8' => '110100101101',
'9' => '101100101101',
'A' => '110101001011',
'B' => '101101001011',
'C' => '110110100101',
'D' => '101011001011',
'E' => '110101100101',
'F' => '101101100101',
'G' => '101010011011',
'H' => '110101001101',
'I' => '101101001101',
'J' => '101011001101',
'K' => '110101010011',
'L' => '101101010011',
'M' => '110110101001',
'N' => '101011010011',
'O' => '110101101001',
'P' => '101101101001',
'Q' => '101010110011',
'R' => '110101011001',
'S' => '101101011001',
'T' => '101011011001',
'U' => '110010101011',
'V' => '100110101011',
'W' => '110011010101',
'X' => '100101101011',
'Y' => '110010110101',
'Z' => '100110110101',
'-' => '100101011011',
'.' => '110010101101',
' ' => '100110101101',
'$' => '100100100101',
'/' => '100100101001',
'+' => '100101001001',
'%' => '101001001001',
'*' => '100101101101'
);
// 바코드로 변환할 문자열
$barcodeString = '*HELLO*';
// 이미지 크기 설정
$width = strlen($barcodeString) * 12 * 2; // 각 문자당 12픽셀, 2배 확대
$height = 60;
// 이미지 생성
$image = imagecreate($width, $height);
// 색상 설정
$white = imagecolorallocate($image, 255, 255, 255);
$black = imagecolorallocate($image, 0, 0, 0);
// 배경 흰색으로 채우기
imagefill($image, 0, 0, $white);
// 바코드 그리기
$x = 10; // 시작 x 좌표
foreach (str_split($barcodeString) as $char) {
$pattern = $code39[$char];
foreach (str_split($pattern) as $bit) {
$color = $bit == '1' ? $black : $white;
imagefilledrectangle($image, $x, 10, $x + 1, $height - 10, $color);
$x += 2;
}
// 문자 간 간격
$x += 2;
}
// 이미지 출력
header('Content-Type: image/png');
imagepng($image);
imagedestroy($image);
?>
이 코드는 *HELLO*
라는 문자열을 Code 39 바코드로 변환하여 이미지를 생성합니다. 바코드는 각 문자를 12픽셀 폭의 패턴으로 표현하고, 문자의 각 비트를 흑백으로 그립니다. 바코드의 시작과 끝에는 '*' 문자를 추가하여 바코드의 시작과 끝을 나타냅니다.
설명
- Code 39 패턴 정의: 각 문자에 대한 패턴을 정의합니다. Code 39는 각 문자를 12비트로 표현합니다.
- 바코드 문자열 설정: 바코드로 변환할 문자열을 정의합니다. Code 39는 시작과 끝에 '*' 문자를 사용합니다.
- 이미지 크기 설정: 바코드 문자열의 길이에 따라 이미지의 너비를 설정합니다. 각 문자는 12픽셀 너비를 가지며, 이 예제에서는 2배 확대하여 각 비트를 2픽셀로 그립니다.
- 이미지 생성 및 색상 설정: 이미지를 생성하고 흰색과 검은색을 정의합니다.
- 바코드 그리기: 각 문자의 패턴을 읽고, 비트에 따라 흑백 선을 그립니다.
- 이미지 출력: 생성된 이미지를 PNG 형식으로 출력합니다.
728x90
반응형
'Software > PHP' 카테고리의 다른 글
PHP 시작하기 - Barcode128 (0) | 2024.08.08 |
---|---|
PHP 소개 (0) | 2024.08.08 |
PHP 시작하기 - curl이용 웹크롤링 (0) | 2024.07.02 |
PHP 시작하기 - header 및 호출시 파라멘트 읽기 (0) | 2024.06.22 |
phpmyadmin에서 SQL 내보내기 euc-kr 추가하기 (0) | 2024.06.21 |