iOS 调整大小并另存为调整后的图片
iOS Resize and save as resized image
代码工作正常,但是当我保存这张图片时,它保存为原始大小。我怎样才能将其保存为缩放后的尺寸?
- (UIImage*) scaleImage:(UIImage*)image toSize:(CGSize)newSize {
CGSize scaledSize = newSize;
float scaleFactor = 1.0;
if( image.size.width > image.size.height ) {
scaleFactor = image.size.width / image.size.height;
scaledSize.width = newSize.width;
scaledSize.height = newSize.height / scaleFactor;
}
else {
scaleFactor = image.size.height / image.size.width;
scaledSize.height = newSize.height;
scaledSize.width = newSize.width / scaleFactor;
}
UIGraphicsBeginImageContextWithOptions( scaledSize, NO, 0.0 );
CGRect scaledImageRect = CGRectMake( 0.0, 0.0, scaledSize.width, scaledSize.height );
[image drawInRect:scaledImageRect];
UIImage* scaledImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return scaledImage;
}
在界面生成器中有一个 属性 的 UIImageView,名为 "mode"。尝试从那里进行设置。
将 UIGraphicsBeginImageContextWithOptions 中的比例因子设置为 1.0。将其设置为 0.0 会将比例设置为设备的屏幕比例因子。
代码工作正常,但是当我保存这张图片时,它保存为原始大小。我怎样才能将其保存为缩放后的尺寸?
- (UIImage*) scaleImage:(UIImage*)image toSize:(CGSize)newSize {
CGSize scaledSize = newSize;
float scaleFactor = 1.0;
if( image.size.width > image.size.height ) {
scaleFactor = image.size.width / image.size.height;
scaledSize.width = newSize.width;
scaledSize.height = newSize.height / scaleFactor;
}
else {
scaleFactor = image.size.height / image.size.width;
scaledSize.height = newSize.height;
scaledSize.width = newSize.width / scaleFactor;
}
UIGraphicsBeginImageContextWithOptions( scaledSize, NO, 0.0 );
CGRect scaledImageRect = CGRectMake( 0.0, 0.0, scaledSize.width, scaledSize.height );
[image drawInRect:scaledImageRect];
UIImage* scaledImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return scaledImage;
}
在界面生成器中有一个 属性 的 UIImageView,名为 "mode"。尝试从那里进行设置。
将 UIGraphicsBeginImageContextWithOptions 中的比例因子设置为 1.0。将其设置为 0.0 会将比例设置为设备的屏幕比例因子。