Стирание после рисования с CGContext - PullRequest
8 голосов
/ 09 мая 2011

Я пытаюсь сделать простое приложение для рисования для iPad, где вы можете рисовать на картинке, и я использую для этого материал CGContext, но первоначально я планировал обработать удаление, просто нарисовав материал с помощьюбелый ... кроме того, что я только сегодня понял, что он не работает, когда вы рисуете на другое изображение, потому что тогда, когда вы "стираете", вы также "стираете" фоновое изображение.

ЕстьЕсть ли способ поддержать фактическое удаление?

Спасибо!

Ответы [ 2 ]

20 голосов
/ 28 января 2012

Мне также нужно было удалить функциональность. Основываясь на ответе @ Джереми, вот что сработало для меня:

CGContextRef cgref = UIGraphicsGetCurrentContext();

if(erase == TRUE) // Erase to show background
{
    CGContextSetBlendMode(cgref, kCGBlendModeClear);
}
else // Draw with color
{
    CGContextSetBlendMode(cgref, kCGBlendModeNormal);
}
4 голосов
/ 13 мая 2011

Отображение рисунка пользователя в слое над изображением.Затем стереть так же просто, как нарисовать прозрачный участок на слое рисования, чтобы позволить пикселям изображения под ним просвечивать.

...