如何在iPhone应用程序中仅缩放图像的特定部分?

iOS*_*Dev 6 iphone image-processing objective-c ios

我想在iPhone应用程序中缩放图像但不完全.我只想缩放底部或中间部分等特定部位......我该怎么办?

请帮忙.

谢谢

icc*_*cir 30

听起来你想要做一种9切片缩放或3切片缩放.假设你有以下图片:

原版的

你想让它看起来像这样:

缩放

(对角线末端部分根本不伸展,顶部和底部部分伸展水平,左右部分伸展垂直)

要执行此操作,请-stretchableImageWithLeftCapWidth:topCapHeight:在iOS 4.x及更早版本中使用,或 -resizableImageWithCapInsets:从iOS 5开始使用.

UIImage *myImage = [UIImage imageNamed:@"FancyButton"];
UIImage *myResizableImage = [myImage resizableImageWithCapInsets:UIEdgeInsetsMake(21.0, 13.0, 21.0, 13.0)];
[anImageView setImage:myResizableImage]
Run Code Online (Sandbox Code Playgroud)

为了帮助可视化缩放,这里是一个显示上述cap insets的图像:

插图


Dam*_*ien 1

我不知道有什么方法可以调整 UIImage 一部分的比例。我的方法略有不同,使用CGImageCreateWithImageInRect从主图像创建单独的图像,然后使用所需的不同速率缩放单独的图像。

看: