2013-11-25 2 views
0

У меня есть изображение jpg, загруженное в UIImageView, и я пытаюсь замаскировать его с помощью изображения альфа-маски в оттенках серого. Он имеет только оттенки серого, а не RGB или альфа-каналы.Почему UIImageView игнорирует маску изображения?

iv = [UIImage imageNamed:@"image.jpg"]; 
self.foreground = iv; 

CALayer *mask = [CALayer layer]; 
UIImage *maskImg = [UIImage imageNamed:@"mask.jpg"]; 
mask.contents = (id)[maskImg CGImage]; 
mask.frame = iv.bounds; 

iv.layer.mask = mask; 
iv.layer.masksToBounds = YES; 

[self addSubview:iv]; 

Образцы загружаются правильно. Но маска не имеет никакого эффекта. Я попытался инвертировать его в Photoshop, а также попытался сохранить его в различных других форматах файлов, включая все типы изменений PNG. Ничто не дает ему работать.

Любая идея, почему?

+1

Пробовали ли вы прозрачный PNG? С черным (альфа = 1) до прозрачного (альфа = 0) пикселей? – Cyrille

ответ

-1

Используйте этот код для изображения маскирование ...

YourImageview.layer.borderWidth=1.0; 
YourImageview.layer.borderColor = [UIColor lightGrayColor].CGColor; 
YourImageview.layer.backgroundColor=[UIColor whiteColor].CGColor; 
YourImageview.layer.cornerRadius=30.5; 
[YourImageview.layer setMasksToBounds:YES]; 
Смежные вопросы