Bir görüntüdeki bir noktada bulunan bir pikselin rengini ve iPhone 6 dışındaki tüm iPhone'larda (iPhone 6 Plus dahil) simülatörde çalıştığım kodu okumam gerekiyor.Pikselin rengi sadece iPhone 6 simülatörü için yanlış
Neden bilmiyorum, ama tahminim yanlış bir yerde bir renk algıladığından pikselin doğru olmadığıdır. Herhangi bir yardım için minnettarım. Bu, sahip olduğum kod.
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' ve çalışma ve çalışma dışı cihazlar için' point.x' değerleri sağlar. –
Görüntü verilerinizin tüm platformlarda uygun piksel formatında kodlandığından emin misiniz? Görüntü formatını kendiniz mi tanımlıyorsunuz, yoksa sizin için bir tane seçmek için işletim sistemine güveniyor musunuz? Genel olarak, görüntü verilerinin bazen CGImageGetBytesPerRow kullanılmasını içerdiğinden, her satırda kaç bayt olduğunu göstermek için resmin genişliğine güvenmemeniz gerekir. –
görüntü bütün ekranın anlık bir görüntüsünü ifade ediyor (kodum mesaja ekledim) –