Расширение ширины пути на самом деле довольно сложно.Тем не менее, вы можете просто погладить его с более толстой шириной и получить почти такой же эффект.Что-то вроде ...
CGContextSetRGBStrokeColor(context, 0.4, 0.4, 0.4, 1.0);
[path setLineWidth:15];
[path stroke];
CGContextSetRGBStrokeColor(context, 0.0, 0.0, 0.0, 1.0);
[path setLineWidth:3];
[path stroke];
... даст картину, подобную той, что у вас в вопросе.Но я сомневаюсь, что это новость для вас.
Настоящий трюк - это проверка того, «попадают ли нарисованные линии в буферную зону».Эта проблема очень похожа на ту, на которую я только что ответил для себя в другом вопросе .Взгляните на код LineSample.zip , которым я поделился там.Это реализует растровое / побитовое сравнение данных для обнаружения совпадений на линиях так, как вам нужно.Вы можете просто нарисовать более толстые «буферные» пути в растровом изображении для тестирования и показать более тонкие линии на вашем виде.