画像に消しゴムを実装する必要がある画像処理プロジェクトに取り組んでいます。また、画像を拡大または縮小するためにピンチ効果を実装する必要があります。ピンチはうまく機能しています。消しゴムも完璧に機能します。ピンチで画像を拡大縮小しない場合。しかし、ピンチを使用してから消しゴムを使用する場合。画像がぼやけます。に消しゴムを実装しましたUIPanGestureRecognizer
。
以下は消しゴムのコードです。
CGPoint translatedPoint = [(UIPanGestureRecognizer*)sender locationInView:tattooImage];
if([(UIPanGestureRecognizer*)sender state] == UIGestureRecognizerStateBegan)
{
lastPoint = translatedPoint;
//lastPoint.x += 60;
//lastPoint.y += 60;
}
else
{
CGPoint currentPoint = translatedPoint;
//currentPoint.x += 60;
//currentPoint.y += 60;
UIGraphicsBeginImageContext(tattooImage.frame.size);
[tattooImage.image drawInRect:CGRectMake(0, 0,tattooImage.frame.size.width, tattooImage.frame.size.height)];
CGContextSetBlendMode(UIGraphicsGetCurrentContext( ),kCGBlendModeClear);
CGContextSetLineCap(UIGraphicsGetCurrentContext(), kCGLineCapRound);
CGContextSetLineWidth(UIGraphicsGetCurrentContext( ), 25.0);
CGContextSetStrokeColorWithColor(UIGraphicsGetCurrentContext(), [[UIColor clearColor] CGColor]);
CGContextBeginPath(UIGraphicsGetCurrentContext());
CGContextMoveToPoint(UIGraphicsGetCurrentContext(), lastPoint.x, lastPoint.y);
CGContextAddLineToPoint(UIGraphicsGetCurrentContext(), currentPoint.x, currentPoint.y);
CGContextStrokePath(UIGraphicsGetCurrentContext()) ;
tattooImage.image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
lastPoint = currentPoint;
}
ヘルプを提供してください。前もって感謝します。