2009-05-12 2 views
0

Я разрабатываю одну игру, где я хочу увеличить изображение, где размещается изображение лупы. Для этого я использую понятие маскировки. После маскировки я увеличиваю изображение, но выглядит размытым. И я хочу, чтобы изображение было более четким, как мы смотрим через стрелочную лупу. Так что если у кого-нибудь есть решение, то любезно ответьтеПосле маскировки Изображение выглядит размытым

ответ

1

вы уверены, что проблема в маскировке?

Возможно, ваши ресурсы имеют слишком низкое разрешение? изображения с высоким разрешением уменьшаются, всегда выглядят лучше, чем изображения с низким разрешением. Возможно, вам нужно взглянуть на проблему назад ... так, чтобы ваше изображение при просмотре стрелочной лупы [scope?] Просматривалось с разрешением 1: 1 и, когда оно не просматривалось в масштабе, оно уменьшалось (1: 2 разрешающая способность?). так что таким образом ваш «нормальный» режим - это режим масштабирования, а «увеличенный вид» - это просто изображение в 1: 1.

+0

Если я просто маскировка без масштабирования выглядит хорошо, но я хочу увеличьте его. Вы правы, возможно, это проблема из-за низкого разрешения, но у меня есть изображение 293 * 184. И я делаю это очень маленьким, как 40 * 30. Если я увеличу его, я думаю, что он должен выглядеть лучше. Но я не знаю, почему это выглядит размытым. – Jyotsna

0

Если у вас есть UIImage, размер которого равен 293x184, но вы создаете UIImageView с начальным размером 40x30, iPhone SCALES UIImage будет соответствовать по свойству: contentMode. По умолчанию contentMode: UIViewContentModeScaleToFill, который масштабирует ваше изображение.

Так что, даже если вы начали с большого изображения, теперь оно только 40x30 и отображается в 40x30. Когда вы увеличиваете масштаб, он равен STILL 40x30, но отображается при большем размере, что вызывает размытие.

Одним из решений было бы заменить изображение после масштабирования, тогда у вас будет совершенно новый UIImage при полном разрешении.

[self.view setFrame:reallyBigFrame]; 
[self.view setImage:newUIImage]; 

Еще бы сначала разместить UIImage в полном размере 293x184 UIImageView, а затем использовать AffineTransform масштабировать его вниз:

view.transform = CGAffineTransformScale(view.transform, 0.25, 0.25); 
Смежные вопросы