2017-02-09 2 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

편집 : 데모 이미지

01 23,516,

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

+0

, 당신의 색깔 유형이 다르다는 것을 일 그래서 그것은 색상을 일치하지 못했습니다. 이미지 및 셀 배경 이미지의 반환 색상 유형을 확인하십시오. 문제가 아니라면 양쪽 이미지의 RGB 값과 일치합니다 –

+0

색상이 적용되고 있습니다. 색상 유형은 정상이지만'view.backgroundColor'의 색상은 셀 색상'cell.backgroundColor = img'와 다릅니다 –

+0

가지고 계셨습니까? 데모? 내 메일로 나를 보내거나 다운로드 할 수있는 곳에서 dropbox 링크를 제공 할 수 있다면 –

답변

0

대신 테이블 셀의 배경 색상을 설정하는,있는 contentView의 색상을 설정하려고

가 등 RGB, CYMK, 같은 색상의 다른 유형이있다, 그래서
cell.contentView.backgroundColor = img 
+0

제 생각에는 셀의 배경색을 직접 설정할 수있는 것 같아요. –

+0

contentView의 색상은 셀의 backgroundColor를 오버라이드하고 모든 뷰는 있습니다. contentView에 추가됨 – Misha

+0

데모가 있습니다. 스크롤 할 때 셀 배경색이보기 배경과 일치하지 않습니다. –