iPhone: Как сделать прозрачное изображение на мероприятии TouchesMoved? - PullRequest
0 голосов
/ 26 декабря 2011

Я уже пробовал kCGBlendModeXOR, но после прозрачности он становится черным.

Вот мой код, который я сделал, но это не то, что я хочу.

  UITouch *touch = [touches anyObject];  
  CGPoint currentPoint = [touch locationInView:self.view];
  CGPoint lastPoint = [touch locationInView: [UIApplication sharedApplication].keyWindow];
  UIGraphicsBeginImageContext(self.view.frame.size);
  CGRect rect = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height);
  [imageView_skype.image drawInRect:rect];
  CGContextRef context = UIGraphicsGetCurrentContext();

  CGContextSetLineCap(context, kCGLineCapRound);
  CGContextSetLineWidth(context, 36.0);
  CGContextSetRGBStrokeColor(context, 1.0, 1.0, 1.0, 1.0);
  CGContextSetAlpha(context,0.10);

  CGContextSetBlendMode(context, kCGBlendModeXOR);

  CGContextBeginPath(context);

  CGContextMoveToPoint(context, lastPoint.x, lastPoint.y);
  CGContextAddLineToPoint(context, currentPoint.x, currentPoint.y);
  CGContextStrokePath(context);
  imageView_skype.image = UIGraphicsGetImageFromCurrentImageContext();

1 Ответ

0 голосов
/ 26 декабря 2011

вы можете использовать маску, чтобы сделать это

http://developer.apple.com/library/ios/#documentation/GraphicsImaging/Conceptual/drawingwithquartz2d/dq_images/dq_images.html

В ваших прикосновениях перемещенное событие рисует изображение маски только черно-белое

и маскирует ваше исходное изображение

...