Получить UIBezierpath от маскировки UIImage

Как я могу получить UIBezierpath из UIImage вот так..

введите здесь описание изображения

Мне не нужен полный квадратный путь, просто нужен этот путь, как показано в красной рамке из UIImage..

Я прошел через ссылку 1 и Ссылка 2, но безуспешно..

Я сделал следующий код, чтобы получить путь маскировки.

CAShapeLayer *maskLayer = [CAShapeLayer layer];
maskLayer.frame = imgView.frame;
UIBezierPath *roundedPath = [UIBezierPath bezierPathWithRoundedRect:maskLayer.bounds byRoundingCorners:UIRectCornerAllCorners cornerRadii:CGSizeMake(50.f, 50.f)]; 

В основном я хочу получить UIBezierpath, который соответствует форме алфавитов, таких как A, B и т. д.

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

Заранее спасибо..


person Mehul Mistri    schedule 22.05.2012    source источник
comment
Вы решили проблему? Кажется, до сих пор нет ответа на ваш вопрос о stackoverflow... :o(   -  person Dirk    schedule 05.08.2014


Ответы (2)


Для других пользователей, которые ищут ответы, альтернативный подход можно найти здесь (использование SVG в качестве исходного файла изображения и PocketSVG для преобразования в пути)

person Anil Puttabuddhi    schedule 09.03.2015

Попробуйте этот код:

CAKeyframeAnimation *pathAnimation = [CAKeyframeAnimation 
animationWithKeyPath:@"position"];
pathAnimation.calculationMode = kCAAnimationPaced;
pathAnimation.fillMode = kCAFillModeForwards;
pathAnimation.removedOnCompletion = NO;
pathAnimation.duration = 15.0;
pathAnimation.repeatCount = 1;
CGMutablePathRef curvedPath = CGPathCreateMutable();
CGPathMoveToPoint(curvedPath, NULL, x+15, y);
CGPathAddQuadCurveToPoint(curvedPath, NULL, 20, 10, 100, 330);
pathAnimation.path = curvedPath;
CGPathRelease(curvedPath);
Yourimage.center=CGPointMake(x, y);
[Yourimage.layer addAnimation:pathAnimation forKey:@"moveTheSquare"];
person jamil    schedule 22.05.2012
comment
Также проверьте это руководство. Я думаю, что оно решит вашу проблему. -path/" rel="nofollow noreferrer">blog.devedup.com/index.php/2010/03/03/ - person jamil; 22.05.2012
comment
Этот ответ вообще не связан с заданным вопросом. Они спросили, как получить UIBezierPath, который мог бы рисовать эту форму, а не анимацию пути. - person Brad Larson; 29.05.2012