3

我有一个 .PNG 文件。该图像有白色背景,只有黑色线条。

我想在用户触摸图像时检测到黑色线。在这张图片中,我如何通过触摸检测出花朵

例如

在此处输入图像描述

这怎么可能?

请帮我...

4

2 回答 2

2

创建类的UIView类别。将以下功能添加到其中。

@implementation UIView (ColorOfPoint)

- (UIColor *) colorOfPoint:(CGPoint)point
{
      unsigned char pixel[4] = {0};
      CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
      CGContextRef context = CGBitmapContextCreate(pixel, 1, 1, 8, 4, colorSpace, kCGBitmapFloatComponents);
      CGContextTranslateCTM(context, -point.x, -point.y);
      [self.layer renderInContext:context];
      CGContextRelease(context);
      CGColorSpaceRelease(colorSpace);
      UIColor *color = [UIColor colorWithRed:pixel[0]/255.0 green:pixel[1]/255.0 blue:pixel[2]/255.0 alpha:pixel[3]/255.0];

      return color;
}
@end

通过以下调用使用它:

  UIColor *col = [YOUR_IMAGE_VIEW colorOfPoint:CGPOINT_WHERE_USER_TOUCHED];
于 2013-10-22T13:29:44.783 回答
1

好的解决方案只有这个类会帮助UIView+ColorOfPoint

于 2013-10-22T14:23:15.790 回答