iphone - растровое изображение может быть отпечатано в пути в кварце? - PullRequest
0 голосов
/ 25 июля 2010

Я должен нарисовать линию между двумя точками, используя кварц. В какой-то момент у меня есть этот код:

CGContextBeginPath(ctx);

CGContextMoveToPoint(ctx, lastPoint.x, lastPoint.y);
CGContextAddLineToPoint(ctx, currentPoint.x, currentPoint.y);
CGContextStrokePath(ctx);

Эта линия создаст жесткую линию между точками currentPoint и lastPoint. Линия такая жесткая, как это делается путем штамповки квадрата пикселей от одной точки к другой.

Можно ли использовать растровое изображение (например, маленький белый размытый шарик), чтобы заменить этот твердый кончик кисти и создать мягкость линии? Я имею в виду, создать мягкую линию с размытыми краями?

Очевидно, что маленький белый размытый шарик должен быть проштампован вдоль пути для достижения этой цели. Это возможно? Как?

Смотрите следующую картинку. Левая строка - это то, что код делает в настоящее время. Правильная линия - это то, что я хотел бы сделать.

alt text

спасибо

Ответы [ 2 ]

1 голос
/ 25 июля 2010

CGContextSetShadowWithColor с нулевым смещением и тем же цветом тени, что и цвет обводки, может быть близко к тому, что вам нужно.Чтобы использовать собственное растровое изображение, вам придется вручную оценить путь и нарисовать изображение в каждой точке.

1 голос
/ 25 июля 2010

Использование растрового изображения вряд ли даст вам удовлетворительную производительность при рисовании, как и любые другие кварцевые методы для рисования размытых линий в реальном времени. Это будет проблемой, но вы должны серьезно подумать об использовании openGL. См. Пример Apple GLPaint.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...