【问题标题】:Finding colour of specific pixel on UIImageView在 UIImageView 上查找特定像素的颜色
【发布时间】: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


【解决方案1】:

为此使用UIImage+ColorAtPixel 类别类UIImage 的最佳解决方案。这个我用过,非常好用。

【讨论】:

    【解决方案2】:

    您可以在每次开始修改图像之前(例如在用户点击屏幕之前)创建图像副本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-08-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-22
      相关资源
      最近更新 更多