我正在开发一个绘图应用程序,并希望构建撤消管理器。我存储用户绘制的每个位置的像素坐标值,但我还想存储用户绘制的点的旧像素颜色,以便我可以将其撤消到适当的颜色。但我无法这样做。任何人都可以提供帮助。
以下是我目前用于获取像素颜色的代码:
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 :(得分:0)
使用UIImage
{{1}}类别类的最佳解决方案。我用过这个,非常好,非常完美。
答案 1 :(得分:0)
您可以在图像绘制修改开始之前每次创建图像的副本(例如,在用户点击屏幕之前)。