0
円のカラーピッカーを作成しようとしています。私のアプローチは、画像を挿入し、ポイントの色を取得するpixelColors関数を使用することです。問題は、クリックするたびに間違った色が返されることです。私は何が間違っているのか分からない。ここで円のカラーピッカーを作成する
はイメージです。ここ
は私のコードここ
extension UIImage {
func getPixelColor(x: CGFloat, y: CGFloat) -> UIColor? {
let pixelData = self.cgImage!.dataProvider!.data
let data: UnsafePointer<UInt8> = CFDataGetBytePtr(pixelData)
let pixelIndex: Int = ((Int(self.size.width) * Int(y)) + Int(x)) * 4
let r = CGFloat(data[pixelIndex])/CGFloat(255.0)
let g = CGFloat(data[pixelIndex+1])/CGFloat(255.0)
let b = CGFloat(data[pixelIndex+2])/CGFloat(255.0)
let a = CGFloat(data[pixelIndex+3])/CGFloat(255.0)
return UIColor(red: r, green: g, blue: b, alpha: a)
}
は、私が取得する機能の下に使用してみてください
func imageTapped(recognizer: UITapGestureRecognizer) {
let thePoint = recognizer.location(in: view)
let color = imageView.image?.getPixelColor(x: thePoint.x, y: thePoint.y)
print(color)
それがうまく働いて、どうもありがとうございました。再度、感謝します! – user8933752
私の答えは働いたのですか? –
はい答えが私のために働いています – user8933752