2017-02-09 13 views
0

に同じ画像を設定し、この拡張UICollectionViewCellとUIViewの

extension UIImage { 
func getPixelColor(pos: CGPoint) -> UIColor { 

    let pixelData = self.cgImage!.dataProvider!.data 
    let data: UnsafePointer<UInt8> = CFDataGetBytePtr(pixelData) 

    let pixelInfo: Int = ((Int(self.size.width) * Int(pos.y)) + Int(pos.x)) * 4 

    let r = CGFloat(data[pixelInfo])/CGFloat(255.0) 
    let g = CGFloat(data[pixelInfo+1])/CGFloat(255.0) 
    let b = CGFloat(data[pixelInfo+2])/CGFloat(255.0) 
    let a = CGFloat(data[pixelInfo+3])/CGFloat(255.0) 

    return UIColor(red: r, green: g, blue: b, alpha: a) 
} 
} 

と私のイメージから色を取得していますし、cellForItemAt indexPath:

let img = cell.movieImage.image?.getPixelColor(pos: CGPoint(x: 10, y: 10)) 
    cell.backgroundColor = img 
    view.backgroundColor = img 

でこれを設定していますが、cellbackgroundColorが一致していませんviewbackgroundColor

EDIT:デモ画像の追加

https://s30.postimg.org/gshw3u829/demo.gif

+0

のカラー設定をしてみてくださいそこなどRGB、CYMK、のような色の異なるタイプがあり、だから、あなたの色の種類が異なることが起こりますその間に色が合わなかった。画像とセルの背景画像からのリターンのカラータイプを確認してください。その問題が両方の画像のRGB値と一致しない場合 –

+0

色が適用されていますが、色の種類はokですが、 'view.backgroundColor'の色はセルの色' cell.backgroundColor = img'と異なります –

+0

あなたのデモ?あなたが私のメールに私を送ってくれたり、Dropboxのリンクを私にダウンロードしてチェックしてもらうことができたら、 –

答えて

0

代わりにテーブルセルの背景色を設定するので、contentView

cell.contentView.backgroundColor = img 
+0

私はセルの背景色を直接設定することができないと思うのですが、 –

+0

のcontentViewの色はセルのbackgroundColorをオーバーライドし、すべてのビューはそのままです。 contentViewに追加 – Misha

+0

デモがあります。スクロール時にセルの背景色がビューの背景と一致しません –

関連する問題