Gna*_*elu 13 iphone cocoa-touch objective-c
我想在iPhone中创建一个照片库作为现有的照片库.我在scrollviewer中添加图像,从图像库中选择.在添加图像之前,我调整所选图像的大小并将其设置为ImageView Control.But当我与iPhone照片库图像质量的添加图像质量相比时,我的控制图像不好.如何带来质量和内存溢出问题.
-(UIImage*)imageWithImage:(UIImage*)image scaledToSize:(CGSize)newSize
{
// Create a bitmap context.
UIGraphicsBeginImageContext( newSize );
[image drawInRect:CGRectMake(0,0,newSize.width,newSize.height)];
UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return newImage;
}
Run Code Online (Sandbox Code Playgroud)
age*_*ped 22
我也碰到了这个问题.我认为你正在使用配备Retina Display的iPhone 4.即使你不是,你应该考虑到它.而不是UIGraphicsBeginImageContext(),使用UIGraphicsBeginImageContextWithOptions()和使用第三个参数的scale属性UIScreen.所有iOS设备都具有scale属性,在iPhone 4上它设置为2.0; 其余的,正如我写的那样,它设置为1.0.
所以你的代码随着这些变化而变成了
-(UIImage *)imageWithImage:(UIImage*)image scaledToSize:(CGSize)newSize
{
// Create a bitmap context.
UIGraphicsBeginImageContextWithOptions(newSize, YES, [UIScreen mainScreen].scale);
[image drawInRect:CGRectMake(0,0,newSize.width,newSize.height)];
UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return newImage;
}
Run Code Online (Sandbox Code Playgroud)