iphone - 调整 UIImage 大小以进行编辑并以高分辨率保存?

标签 iphone ios uiimage

有没有办法从库中加载图片或拍摄新图片,将其调整为较小的尺寸以便能够对其进行编辑,然后以原始尺寸保存?我正在为此苦苦挣扎,无法让它发挥作用。我的调整大小代码设置如下:

firstImage = [firstImage resizedImageWithContentMode:UIViewContentModeScaleAspectFit bounds:CGSizeMake(960, 640) interpolationQuality:kCGInterpolationHigh];

然后我有一个 UIImageView :

[finalImage setFrame:CGRectMake(10, 100, 300, 232)];
 finalImage.image = firstImage;

如果我将 CGSizeMake 设置为图片的原始大小,这是一个非常慢的过程。我在其他应用程序中看到它们可以处理较小的图像,并且即使对于效果而言,编辑过程也相当快。这方面的处理方法是什么?

最佳答案

您可以引用Move and Scale Demo 。这是一个自定义控件,它实现了移动、缩放和裁剪图像,这对您非常有帮助。

这也是将图像缩放到给定尺寸的最简单的代码。引用这里:Resize/Scale of an Image

您可以在这里引用它的代码

//  UIImage+Scale.h

@interface UIImage (scale)

-(UIImage*)scaleToSize:(CGSize)size;

@end

实现 UIImage Scale 类别 接口(interface)就位后,让我们编写将添加到 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)];

如果您需要更多帮助,请告诉我。

希望这对您有帮助。

关于iphone - 调整 UIImage 大小以进行编辑并以高分辨率保存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9958188/

相关文章:

objective-c - Objective-C 装饰器模式的简单实现

iphone - iPhone中的图像处理魅力滤镜

ios - 本地通知在错误的时间发送

iphone - 如何使用UIScrollView在UIView之间切换

objective-c - 为核心数据写入创建后台线程

ios - 尝试圆形图像,输出菱形?

ios - 当另一个属性的数量增加时生成更多属性

iphone - 对象-C : Creating an object with a String name

iphone - 如何以编程方式渲染平面背景 UIColor 作为 UIToolbar 的背景?

iphone - 即使单击更新按钮后,分发配置文件仍然过期