Build Zint static library on windows
라이브러리는 정상적으로 동작을 하였다.
사용법은 설명 보다는 코드로 남기는 것이 이해가 쉬울 것 같아 코드로 남긴다.
struct zint_symbol *pZintSymbolStruct; // Zint symbol 생성 pZintSymbolStruct = ZBarcode_Create(); if (pZintSymbolStruct != nullptr) { TRACE("Symbol successfully created!\n"); // 생성할 바코드 문자열. 최대 128자 unsigned char szBuf[ZINT_TEXT_SIZE] = "created barcode by Zint\0"; // 주어진 문자열로 바코드 생성. // 문자열 길이를 0으로 입력하면 입력된 문자열의 첫번째 Null 까지 Encode. ZBarcode_Encode(pZintSymbolStruct, szBuf, 0); // 생성한 바코드를 파일로 저장. // 바코드 타입을 설정하지 않으면 기본으로 Code 128이 설정된다. // Symbol 생성시 기본 출력 파일 이름은 out.png // 각도는 0, 90, 180, 270 를 입력할 수 있다. // 그 이외의 각도를 넘기면 예외가 발생한다. ZBarcode_Print(pZintSymbolStruct, 0); // Symbol 초기화 ZBarcode_Clear(pZintSymbolStruct); // Barcode를 QRCode로 지정 pZintSymbolStruct->symbology = BARCODE_QRCODE; // 출력 파일은 out2.png로 지정 strcpy_s(pZintSymbolStruct->outfile, FILENAME_MAX, "out2.png"); // 바코드로 생성할 문자열 설정 strcpy_s((char*)szBuf, ZINT_TEXT_SIZE, "한글 바코드, 韓字!"); // 인코딩과 파일 저장을 한번에 수행 ZBarcode_Encode_and_Print(pZintSymbolStruct, szBuf, 0, 0); // Symbol 초기화 ZBarcode_Clear(pZintSymbolStruct); pZintSymbolStruct->symbology = BARCODE_QRCODE; strcpy_s((char*)szBuf, ZINT_TEXT_SIZE, "메모리에 바코드 생성"); // 바코드를 인코딩하여 메모리에 저장 // 바코드는 pZintSymbolStruct->bitmap 에 저장 ZBarcode_Encode_and_Buffer(pZintSymbolStruct, szBuf, 0, 270); // 메모리에 저장된 바코드 이미지를 이용하여 OpenCV Mat 생성 cv::Mat matBarcode = cv::Mat( pZintSymbolStruct->bitmap_height , pZintSymbolStruct->bitmap_width , CV_8UC3 , pZintSymbolStruct->bitmap); // 화면에 보여주기 cv::namedWindow("Barcode"); cv::imshow("Barcode", matBarcode); } // Symbol 삭제 ZBarcode_Delete(pZintSymbolStruct);
zint_symbol 구조체에 여러 설정을 하여 바코드를 생성할 수 있다.
설정할 수 있는 항목은 여백, 배경색, 전경색, 테두리 등을 설정할 수 있다.
자세한 설정 방법은 Zint 매뉴얼(http://www.zint.org.uk/Manual.aspx?type=p&page=1)에 설명되어 있다.
No comments :
Post a Comment