【发布时间】:2014-01-28 11:33:35
【问题描述】:
我正在开发一个绘画应用程序,并希望构建撤消管理器。我存储用户绘制的每个位置的像素坐标值,但我还想存储用户绘制点的旧像素颜色,以便我可以将其撤消为适当的颜色。但我无法这样做。谁能帮忙。
这是我目前用来获取像素颜色的代码:
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]);
}
【问题讨论】:
-
这个问题可能对你有帮助stackoverflow.com/questions/21028952/…
-
和pascs的答案太清楚了
-
但是 parcs 的答案仍然只返回 0。
-
您的问题及其描述都与
Finding colour of specific pixel on UIImageView不匹配,并且您的代码显示您正在获取特定像素。现在如果你想在图像上画一些东西,我建议你先复制一个,然后在重画或撤消时恢复它。
标签: ios iphone ios7 uiimageview uiimage