투케이2K

398. (ios/swift5) CIFilter 사용해 바코드 (code128) 이미지 생성 수행 - CICode128BarcodeGenerator 본문

IOS

398. (ios/swift5) CIFilter 사용해 바코드 (code128) 이미지 생성 수행 - CICode128BarcodeGenerator

투케이2K 2023. 12. 19. 19:48

[개발 환경 설정]

개발 툴 : XCODE

개발 언어 : SWIFT5

 

[소스 코드]

 
    // -----------------------------------------------------------------------------------------
    // MARK: - [Code 128 바코드 이미지 생성 수행]
    // -----------------------------------------------------------------------------------------
    func createBarcode128Image(data:String) -> UIImage? {
        
        /*
        // -----------------------------------------
        [createBarcode128Image 메소드 설명]
        // -----------------------------------------
        1. Code 128 바코드 이미지 생성 메소드
        // -----------------------------------------
        2. 호출 방법 :

         self.createBarcode128Image(data: "twok")
        // -----------------------------------------
        */


        // [변수 선언]
        var returnImage: UIImage? = nil
        var M_LOG = ""


        // [로직 처리 실시]
        if C_Util().stringNotNull(str: data) == true {

            let qr_data = data.data(using: String.Encoding.ascii) // [String Encoding]

            let filterName = "CICode128BarcodeGenerator" // [바코드 생성 지정]

            if let filter = CIFilter(name: filterName) {

                filter.setValue(qr_data, forKey: "inputMessage")

                let transform = CGAffineTransform(scaleX: 5, y: 5) // [바코드 사이즈]
                
                if let output = filter.outputImage?.transformed(by: transform) {
                    returnImage = UIImage(ciImage: output)
                    M_LOG = "[Success] : Barcode Image Create"
                }
                else {
                    M_LOG = "[Error] : outputImage Is nil"
                }
            }
            else {
                M_LOG = "[Error] : CIFilter Is nil"
            }
        }
        else {
            M_LOG = "[Error] : Input Data Is Null"
        }


        // [로그 출력 수행]
        S_Log._D_(description: "바코드 128 이미지 생성 수행", data: [
            "INPUT :: \(data)",
            "M_LOG :: \(M_LOG)"
        ])


        // [리턴 반환]
        return returnImage

    }
 

[결과 출력]

 

반응형
Comments