0
画像内のあるポイントにあるピクセルの色を読み取る必要があり、コードはiPhone 6以外のすべてのiPhone(iPhone 6 Plusを含む)に対してシミュレータで動作します。ピクセルの色はiPhone 6シミュレータでのみ間違っています
なぜか分かりませんが、間違った場所の色が検出されたため、私の推測はピクセルのインデックスが正しくありません。 私は助けていただきありがとうございます。 これは私が持っているコードです。
UIGraphicsBeginImageContext(upperCaseView.frame.size)
upperCaseView.layer.renderInContext(UIGraphicsGetCurrentContext()!)
snapshotImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
let pixelData = CGDataProviderCopyData(CGImageGetDataProvider(snapshotImage.CGImage))
let data: UnsafePointer<UInt8> = CFDataGetBytePtr(pixelData)
let pixelInfo: Int = ((Int(snapshotImage.size.width) * Int(point.y)) + Int(point.x)) * 4
print(data[pixelInfo])
print(data[pixelInfo+1])
print(data[pixelInfo+2])
'point.y'と'加工用point.x'値と非作業装置を提供します。 –
イメージデータがすべてのプラットフォームで適切なピクセル形式でエンコードされていることは確かですか?あなた自身でイメージフォーマットを定義しているのですか、またはオペレーティングシステムを使ってイメージフォーマットを選択していますか?一般に、画像データの幅がCGImageGetBytesPerRowの代わりに使用される場合があるため、各行にいくつのバイトがあるかを示すために画像の幅に頼るべきではありません。 –
画像は画面全体のスナップショットです(私のポストにコードを追加しました) –