j'ai réussi à mettre en œuvre des plans d'effacement sur CGContextComment effacer légérement un tracé tracé dans cgcontext?
UIImageView *maskImgView = [self.view viewWithTag:K_MASKIMG];
UIGraphicsBeginImageContext(maskImgView.image.size);
[maskImgView.image drawAtPoint:CGPointMake(0,0)];
float alp = 0.5;
UIImage *oriBrush = [UIImage imageNamed:_brushName];
//sets the style for the endpoints of lines drawn in a graphics context
CGContextRef ctx = UIGraphicsGetCurrentContext();
CGFloat eraseSize = oriBrush.size.width*_brushSize/_zoomCurrentFactor;
CGContextSetLineCap(ctx, kCGLineCapRound);
CGContextSetLineJoin(ctx, kCGLineJoinRound);
CGContextSetLineWidth(ctx,eraseSize);
CGContextSetRGBStrokeColor(ctx, 1, 1, 1, alp);
CGContextSetBlendMode(ctx, kCGBlendModeClear);
CGContextBeginPath(ctx);
CGContextMoveToPoint(ctx, lastPoint.x,lastPoint.y);
CGPoint vector = CGPointMake(currentPoint.x - lastPoint.x, currentPoint.y - lastPoint.y);
CGFloat distance = hypotf(vector.x, vector.y);
vector.x /= distance;
vector.y /= distance;
for (CGFloat i = 0; i < distance; i += 1.0f) {
CGPoint p = CGPointMake(lastPoint.x + i * vector.x, lastPoint.y + i * vector.y);
CGContextAddLineToPoint(ctx, p.x, p.y);
}
CGContextStrokePath(ctx);
maskImgView.image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
lastPoint = currentPoint;
problème est, cette effacer quoi que ce soit TOTALEMENT. L'ensemble alpha de cette fonction (CGContextSetRGBStrokeColor(ctx, 1, 1, 1, alp);
) semble totalement ignoré.
Je souhaite effacer légèrement et l'effacement répété supprime totalement le dessin.
Des idées?
EDIT: selon la demande, j'ajouter plus de détails sur ce code: alpe = _brushAlpha est une propriété delcared dans cette classe ViewController. Il va de 0,1 à 1,0. Au test je l'ai mis à 0.5. Ce code de dessin est déclenché par le système de reconnaissance de mouvement (changement d'état). Il s'agit essentiellement de suivre le doigt (dessiner/effacer par le doigt).
Auriez-vous l'amabilité de dire au public, quelle est la valeur de 'alp' resp. '_brushAlpha' est? Cependant, où se trouve ce code de dessin? –
Ok, j'ai ajouté plus de détails pour le code. – GeneCode