2013-04-02 1 views
1

У меня есть изображение с фиксированной границей, и мне нужно иметь возможность изменять высоту изображения, например, с 25px до 300 пикселей, но так, чтобы граница сверху только составляла 5px, она была изначально. Конечно, возможность состоит в том, чтобы сохранить как можно больше версий одного и того же изображения в разных размерах, как и у многих размеров, но это потребует огромного объема памяти, или я мог бы попытаться составить один образ из 5 частей, верхняя граница, нижняя граница, левая и правая границы и фактическое содержание. Это, однако, довольно неудобноМожно ли изменить размер изображения, но сохранить границы на iOS?

Благодаря

ответ

4

Вы ищете метод UIImage

-(UIImage *)resizableImageWithCapInsets: 

Отправить сообщение для исходного изображения и передать UIEdgeInsetsMake(topFixedBorderSize, leftFixedBorderSize, bottomFixedBorderSize, rightFixedBorderSize), и вы получите обратно «изменяемым» образ. Когда вы рисуете изменяемое изображение в большем размере, будут растянуты только пиксели, не покрытые вставками. Пиксели, покрытые вставками на каждой стороне, остаются фиксированными на краю.

Смежные вопросы