Форум программистов, компьютерный форум CyberForum.ru

CoreGraphics, "стёрка" части изображения в transparent - Программирование iOS/iPhone

Войти
Регистрация
Восстановить пароль
 
max0
Сообщений: n/a
16.07.2013, 10:29     CoreGraphics, "стёрка" части изображения в transparent #1
Ребят, привет!

Хочу проконсультироваться. Есть два UIImageView один поверх другого. Я хочу стереть часть верхнего изображения, чтобы стало видно то, что под ним.

Я это сделал так:
1) ловлю touchesMoved, там делаю [self setNeedsDisplayInRect:[self brushRectForPoint:touch_location]];
2) в - (void)drawRect: (CGRect)rect делаю [_brush drawAtPoint:location blendMode:kCGBlendModeDestinationOut alpha:1]; где _brush - png картинка с альфой и мягкими краями.

Все работает, но если быстро водить пальцем по экрану, то touchesMoved приходит не так часто как хотелось бы и изображение стирается рывками (отдельными точками, а не целой линией). Прочитал про UIBezierPath, нашел "рисовалки" на github у которых проблем с touchesMoved нет.

Они просто рисуют линию:

C
1
2
3
4
5
6
7
8
9
CGContextRef context = UIGraphicsGetCurrentContext();
        
CGContextAddPath(context, path);
 
CGContextSetLineCap(context, kCGLineCapRound);
CGContextSetLineWidth(context, self.lineWidth);
CGContextSetStrokeColorWithColor(context, self.lineColor.CGColor);
        
CGContextStrokePath(context);
Ребят, подскажите как вместе с UIBezierPath рисовать не просто линию а мою png-кисть, чтобы часть верхнего изображения стиралось и было видно другое изображение, что под ним.

Спасибо.

P.S. на всякий случай быстрая рисовалка
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.07.2013, 10:29     CoreGraphics, "стёрка" части изображения в transparent
Посмотрите здесь:

Objective-C Приведение типов, или как избавиться от "Warning"
Форма обратной связи, при нажатии "Отправить" качает PHP файл
Как создать кнопку "like" (например, фейсбуковский) на UIView?
Нужна загрузка "даты" с RSS | iOS | Xcode
Thread 1: Program received signal "SIGABRT" Objective-C
Сервер / Game Center для онлайн игры "Шашки"
Инверсия части изображения при перекрытии другим изображением Objective-C
Objective-C Объясните, что это: "static const uint32_t collisionCategory = 0x1 << 0"?
Муки выбора: core data или работа "напрямую" с sqlite
Не создается объект. Ошибка "autorelease called without pool for object of class" Objective-C
Swift Нуб спрашивает Пропало окно "Welcome to xcode"
Swift Написание приложения " Расписание " для ВУЗа

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
noname_club
 Аватар для noname_club
102 / 90 / 9
Регистрация: 01.05.2013
Сообщений: 577
16.07.2013, 15:00     CoreGraphics, "стёрка" части изображения в transparent #2
верхнее изображение которое стирается закешировать в памяти и работать напрямую с этим CGContext

выводить на экран только после завершения блока обработки "стерки", дополнительно повесить таймер который не даст слишком часто обращаться к выводу на экран, но только к выводу, обработке стираний таймер не должен препятствовать
max0
Сообщений: n/a
16.07.2013, 23:20     CoreGraphics, "стёрка" части изображения в transparent #3
Если кому-то интересно https://github.com/akopanev/iOS-Scratch-n-See решение вопроса.
Yandex
Объявления
16.07.2013, 23:20     CoreGraphics, "стёрка" части изображения в transparent
Ответ Создать тему
Опции темы

Текущее время: 17:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru