首页 文章

iPhone - 将调整大小的图像转换为全屏位图

提问于
浏览
0

我有许多不同比例的图像正在调整大小(缩小尺寸)到iPhone / iPad屏幕尺寸 .

我需要实现的是创建全屏位图(960x640,480x320,1024x768),此图像居中并调整大小并包括黑色边框 . 缩放由AspectFit自动完成,但如何将结果转换为全屏图像?

在Android上我正在使用 imageview.buildDrawingCache();imageview.getDrawingCache(); . 不是最快的解决方案,但对我来说已经足够了 .

例如:

  • 图像尺寸:1000x500

  • 图像在iPhone4上缩放为:960x480

  • iPhone4分辨率和我需要的图像尺寸:960x640

知道如何解决这个问题吗?

我将在内存中需要这个图像2分钟,然后我可以清理它 .

编辑:这就是我需要的 - 改变位图缩放到与周围缩放的位图 .

enter image description here

2 回答

  • 0

    您可以使用imagecontext调整图像大小

    UIImage * image = [UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@“stack”ofType:@“png”]];

    UIGraphicsBeginImageContext(image.size); 
    [image1 drawInRect:CGRectMake(0, 0, 960, 480)];
    UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext(); 
    UIGraphicsEndImageContext();
    

    我认为这会有所帮助.. !!

  • 1

    我不确定你的问题是什么 . 如果您需要有关如何调整图像大小的帮助,请查看本教程: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的原因 .

    希望这可以帮助....

相关问题