我有许多不同比例的图像正在调整大小(缩小尺寸)到iPhone / iPad屏幕尺寸。
我需要实现的是创建全屏位图(960x640,480x320,1024x768),此图像居中&调整大小并包括黑色边框。缩放由AspectFit自动完成,但如何将结果转换为全屏图像?
在Android上我使用imageview.buildDrawingCache();
和imageview.getDrawingCache();
。不是最快的解决方案,但对我来说已经足够了。
例如:
知道如何解决这个问题吗?
我需要在内存中使用此图像2分钟,然后我就可以清理它了。
编辑: 这就是我需要的 - 将位图缩放为与周围区域缩放的位图。
答案 0 :(得分:1)
您可以使用imagecontext
调整图像大小UIImage * image = [UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@ “堆栈” ofType:@ “PNG”]];
UIGraphicsBeginImageContext(image.size);
[image1 drawInRect:CGRectMake(0, 0, 960, 480)];
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
我认为这会有所帮助.. !!
答案 1 :(得分:0)
我不确定你的问题是什么。如果您需要有关如何调整图像大小的帮助,请查看本教程:Resize a UIImage the right way
如果您想在iPhone 4上呈现视网膜图像,可以使用以下代码:
UIImage *image = [UIImage imageNamed:@"scaledPicture.png"];
CGRect imageframe = CGRectMake(0,0,imageWidth/2,imageHeight/2);
UIImageView *imageview = [[UIImageView] initWithFrame:imageframe];
[window addSubView:imageview];
您在CGRect中编写的数字是点数,而不是像素数。在iPhone 4上,1点= 2像素。这就是为什么在上面的代码中实际宽度和高度除以2的原因。
希望这会有所帮助......