SwiftでUIImageからピクセルデータ配列に変換する

SwiftでUIImageからピクセルデータ配列に変換する

概要

ここでは、画像データ(UIImage型のデータ)から、画素の配列データ(UInt8型の配列データ)へ変換する方法を示します。

環境

Swift 5.0.1

変換方法

以下のコードにて変換します。

    func getByteArrayFromImage(img: UIImage) -> [UInt8] {
        let data = img.cgImage?.dataProvider?.data
        let length = CFDataGetLength(data)
        var rawData = [UInt8](repeating: 0, count: length)
        CFDataGetBytes(data, CFRange(location: 0, length: length), &rawData)
        
        return rawData
    }

※補足

戻り値はRGBAの順でのピクセルデータ配列となります。