2013-07-09 2 views
1

на iOS 6+, как я могу сделать часть UIImage размытой?iOS: как я могу сделать часть UIImage размытой?

В идеале я бы мог определить UIView, предоставить ему рамку и как-то сказать ей размыть все, что находится за ней.

Смотрите фото как пример того, что я хотел бы иметь.

example

+0

Как об этом: http://stackoverflow.com/a/14108694/1603072? – Bhavin

ответ

3

Вы должны использовать GPUImage. Это проект с открытым исходным кодом на GitHub, и это потрясающе. Посмотрите на this question для получения пояснения.

1

Я не совсем уверен, что вы подразумеваете под «размытым», но то, что вы всегда можете сделать, - это просто сделать полупрозрачный пустой UIView над областью изображения, который вам нужен «размытым».

Возможно, я неправильно понимаю, но ваше изображение действительно не помогает.

Нечто подобное.

UIView *blurView = [[UIView alloc] initWithFrame:someFrame]; 
[blurView setBackgroundColor:[UIColor colorWithWhite:0.5 alpha:0.5]] 
[imageView addSubview:blueView]; 
+0

спасибо, но ищет реальное размытие. –

+0

хорошо, тогда я предлагаю использовать что-то вроде того, что Vin, опубликованное выше в его комментарии, особенно если это нужно сделать «на лету». Если нет, то предлагаю использовать фотошоп заранее. – MZimmerman6

0

Ссылка Vin действительно обеспечивает действительно размытый эффект. Вы можете попробовать, если это то, что вы хотите. Однако, возможно, то, что вы хотите, может быть просто «полупрозрачным», а не «размытым», поскольку вы упомянули, что хотите использовать UIView над изображением.

Попробуйте это:

view.backgroundColor = [UIColor whiteColor]; 
view.alpha = 0.7; // play with this value 
+0

спасибо, но ищет реальное размытие. –

+0

Вы можете попробовать [this] (http://stackoverflow.com/questions/11130923/apply-blur-to-uiview), но это для iOS 6.0 и выше. – Rick