#iphone #image-processing #uiimage
#iPhone #обработка изображений #uiimage
Вопрос:
Как я могу применить эффект объектива к моему пользовательскому изображению, как показано здесь http://processing.org/learning/topics/lens.html?
Ответ №1:
Для этого вы можете использовать фреймворк Cocos2D.
Если вы решите использовать его, вот как вы можете легко применить эффект объектива:
- (void)aFunction
{
const CGSize size = [[CCDirector sharedDirector] winSize];
// Init and position your image
CCSprite *img = [CCSprite spriteWithFile:@"images.png"];
img.position = ccp(size.width/2.f, size.height/2.f);
[self addChild:img];
// Create action and start it
id lens = [CCLens3D actionWithPosition:ccp(size.width/2.f, size.height/2.f)
radius:240.f
grid:ccg(15.f,10.f)
duration:0.f];
[img runAction:lens];
}
Вероятно, ваш проект является проектом UIKit, поэтому вы не хотите перезапускать свой проект с нуля. Итак, в проекте cocos2d-ios Xcode есть много примеров того, что вы можете сделать.
И есть пример, который называется AttachTest, и он показывает вам, как реализовать EAGLView (который является подклассом UIView) в проекте UIKit.
Комментарии:
1. Спасибо, но я хочу создать этот эффект с нуля. Можете ли вы предоставить мне какой-нибудь код или алгоритм?
2. @dpart Вам следует взглянуть на то, как Cocos2D это делает. Он основан на фреймворке OpenGL, я думаю, вы могли бы взять из него некоторый код для себя…