有没有办法从库中加载图片或换一张图片,将其调整为较小的尺寸以便能够编辑它,然后将其保存为原始尺寸?我正在努力解决这个问题,无法让它发挥作用。我有这样的调整大小代码设置:
firstImage = [firstImage resizedImageWithContentMode:UIViewContentModeScaleAspectFit bounds:CGSizeMake(960, 640) interpolationQuality:kCGInterpolationHigh];
然后我有一个UIImageView:
[finalImage setFrame:CGRectMake(10, 100, 300, 232)];
finalImage.image = firstImage;
如果我以图片的原始大小设置CGSizeMake,这是一个非常缓慢的过程。我在其他应用程序中看到他们在较小的图像上工作,即使对于效果,编辑过程也相当快。这方法是什么?
答案 0 :(得分:1)
您可以参考Move and Scale Demo。这是一个自定义控件,它实现了移动和缩放以及裁剪图像,这对您真的很有帮助。
此外,这是将图像缩放到给定大小的最简单代码。请参阅此处:Resize/Scale of an Image
你可以在这里参考它的代码
// UIImage+Scale.h
@interface UIImage (scale)
-(UIImage*)scaleToSize:(CGSize)size;
@end
实施UIImage比例类别 有了接口,让我们编写将添加到UIImage类的方法的代码。
// UIImage+Scale.h
#import "UIImage+Scale.h"
@implementation UIImage (scale)
-(UIImage*)scaleToSize:(CGSize)size
{
// Create a bitmap graphics context
// This will also set it as the current context
UIGraphicsBeginImageContext(size);
// Draw the scaled image in the current context
[self drawInRect:CGRectMake(0, 0, size.width, size.height)];
// Create a new image from current context
UIImage* scaledImage = UIGraphicsGetImageFromCurrentImageContext();
// Pop the current context from the stack
UIGraphicsEndImageContext();
// Return our new scaled image
return scaledImage;
}
@end
使用UIImage缩放方法 调用我们添加到UIImage的新缩放方法就像这样简单:
#import "UIImage+Scale.h"
...
// Create an image
UIImage *image = [UIImage imageNamed:@"myImage.png"];
// Scale the image
UIImage *scaledImage = [image scaleToSize:CGSizeMake(25.0f, 35.0f)];
如果您需要更多帮助,请与我们联系。
希望这会对你有所帮助。