我想在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;
}
答案 0 :(得分:21)
我也遇到了这个问题。我认为你正在使用配备Retina Display的iPhone 4。即使你不是,你应该考虑到它。使用UIGraphicsBeginImageContext()
而不是UIGraphicsBeginImageContextWithOptions()
,并使用scale
的{{1}}属性作为第三个参数。所有iOS设备都具有scale属性,在iPhone 4上它设置为2.0;其余的,正如我写的那样,它被设置为1.0。
因此,您的代码会随着这些更改而变为
UIScreen
答案 1 :(得分:0)
从ageektrapped解决方案开始,对于PNG的透明图像,您应该将
的第二个参数设置为NO / false。UIGraphicsBeginImageContextWithOptions(..., NO, ...);
将解决黑白背景问题