2014-01-28 36 views
1

我正在繪製應用程序,並且想要構建撤消管理器。我存儲用戶繪製的每個位置的像素座標值,但我也想存儲用戶繪製的點的舊像素顏色,以便我可以將其撤消爲適當的顏色。但我無法這樣做。任何人都可以幫忙嗎?查找UIImageView上特定像素的顏色

這是我目前使用獲得的像素顏色代碼:使用UIImage+ColorAtPixel類別類UIImage這個

UIGraphicsBeginImageContext(self.tempDrawImage.frame.size); 
CGContextRef context = UIGraphicsGetCurrentContext(); 
int bpr = CGBitmapContextGetBytesPerRow(context); 
unsigned char * data = CGBitmapContextGetData(context); 
if (data!=NULL) 
{ 
    int offset = bpr*(lastPoint.y)+ 4*(lastPoint.x); 
    NSLog(@"Red : %d",data[offset+0]); 
    NSLog(@"Green : %d",data[offset+1]); 
    NSLog(@"Blue : %d",data[offset+2]); 
} 
+0

可能是這個問題可以幫助你http://stackoverflow.com/questions/21028952/how-to-get-the-pixel-color-values-of-custom-image-inside-imageview-ios –

+0

和pascs answer太清楚了 –

+0

但是parcs答案仍然只返回0. – Santosh

回答

0

最佳解決方案。我用這個,非常好,很完美。

0

在圖像繪製修改開始之前(例如在用戶點擊屏幕之前),您可以每次創建圖像的副本。