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 に答える