2015-11-24 3 views
0

У меня есть эта картина:Сделать kCGBlendModeMultiply на бумаге

I have this picture

Я хочу добавить UIImageView S в качестве подвидов и я хочу изображения, чтобы быть «криво» с фоном.

Думаю, я должен использовать kCGBlendModeMultiply.

Любые идеи, как решить эту проблему?

+1

Пожалуйста, добавьте некоторые пояснения. Я думаю, вы хотите, чтобы изображения отображались так, как если бы они были напечатаны на бумаге и, таким образом, сжаты и скручены его сгибами, но это не реально (или, по крайней мере, очень тяжело), ​​потому что для этого вам нужно было бы вывести 3D форма бумаги, и все, что у вас есть, - это 2D-данные. –

+0

Да, если я добавляю изображение где-то, его нужно объединить с этой бумагой, как на ней напечатано – Munadel

ответ

1

Вы можете создать подкласс UIView и переопределить drawRect.

Например, я создал подкласс CrinkedView. .h выглядит следующим образом:

#import <UIKit/UIKit.h> 
IB_DESIGNABLE 
@interface CrinkedView : UIView 
@property (nonatomic, strong) IBInspectable UIImage *crinkedImage; 
@end 

И .m так:

#import "CrinkedView.h" 

@implementation CrinkedView 

-(void)setCrinkedImage:(UIImage *)crinkedImage 
{ 
    _crinkedImage = crinkedImage; 
    [self setNeedsDisplay]; 
} 


- (void)drawRect:(CGRect)rect { 
    [[UIImage imageNamed:@"vI745.jpg"] drawInRect:self.bounds]; 
    if (self.crinkedImage) { 
     [self.crinkedImage drawInRect:self.bounds blendMode:kCGBlendModeMultiply alpha:1.0]; 
    } 

} 


@end