【问题标题】:iPhone - turn resized image into full screen bitmapiPhone - 将调整大小的图像变成全屏位图
【发布时间】:2011-06-23 09:43:18
【问题描述】:

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

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

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

例如:

  • 图片尺寸:1000x500
  • 图片在 iPhone4 上缩放为:960x480
  • iPhone4分辨率和我需要的图片尺寸:960x640

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

我需要这张图片在内存中大约 2 分钟,然后我可以清理它。

编辑: 这就是我需要的 - 将缩放的位图更改为与周围环境缩放的位图。

【问题讨论】:

    标签: iphone image bitmap scaling


    【解决方案1】:

    您可以使用 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();
    

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

    【讨论】:

    • 很快就会对此进行测试,但是缩放呢?我必须估计每个调整大小以创建矩形的图像的大小?
    【解决方案2】:

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

    希望这会有所帮助....

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-02-10
      • 2014-03-23
      • 2012-03-10
      • 2012-06-06
      • 1970-01-01
      • 1970-01-01
      • 2015-06-04
      • 1970-01-01
      相关资源
      最近更新 更多