调整图像大小Objective-C

我正在尝试使用iPhone 4及更高版本的Objective-C缩小图像,以便尽快将其发送到服务器。 目前,全尺寸的图像需要很长时间。

我正在尝试的缩小规模的当前是:

CGSize imageSize; imageSize = CGSizeMake(484, 888); UIImage *img = [UIImage imageWithContentsOfFile:path]; UIGraphicsBeginImageContext( imageSize ); [img drawInRect:CGRectMake(0,0,imageSize.width,imageSize.height)]; UIImage* realfrontImage = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); NSData *frontImageData = UIImageJPEGRepresentation(realfrontImage, 1.0); 

这给了我320×460的图像我怎么得到它我想要的尺寸484×888。

任何帮助将非常感激。

 -(UIImage*)imageWithImage:(UIImage*)image scaledToSize:(CGSize)newSize { UIGraphicsBeginImageContext(newSize); [image drawInRect:CGRectMake(0, 0, newSize.width, newSize.height)]; UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); return newImage; } 

使用此方法缩小图像。

//用你的resize比例调用这个函数……

  -(UIImage*)scaleByRatio:(float) scaleRatio { CGSize scaledSize = CGSizeMake(self.size.width * scaleRatio, self.size.height * scaleRatio); CGColorSpaceRef colorSpace; int bitmapBytesPerRow; bitmapBytesPerRow = (size.width * 4); //The output context. UIGraphicsBeginImageContext(scaledSize); CGContextRef context = context = CGBitmapContextCreate (NULL, scaledSize .width, scaledSize .height, 8, // bits per component bitmapBytesPerRow, colorSpace, kCGImageAlphaPremultipliedLast); //Percent (101%) #define SCALE_OVER_A_BIT 1.01 //Scale. CGContextScaleCTM(context, scaleRatio * SCALE_OVER_A_BIT, scaleRatio * SCALE_OVER_A_BIT); [self drawAtPoint:CGPointZero]; //End? UIImage *scaledImage = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); return scaledImage; } 

希望对你有帮助…

也许这篇文章可以帮助你: 如何在iphone的objective-c中以编程方式调整图像大小

注意……你在Objective-C中这样做,而不是XCode。 XCode是您在其中开发Objective-c的应用程序。 就像Netbeans或Eclipse通常用于Java和PHP一样。