【问题标题】:How do i resize UIImages without the pain? [closed]我如何在没有痛苦的情况下调整图像大小? [关闭]
【发布时间】:2012-06-07 00:30:59
【问题描述】:

我见过:

  • 指责各种UIImage调整大小代码错误且有bug
  • 调整代码大小会导致低质量图像
  • 调整代码大小 翻转图像
  • 调整无法正常工作的代码大小 特别是人像相机照片

有没有人可以推荐的用于调整/裁剪 UIImage 的代码?

【问题讨论】:

  • 您如何包括每个点的代码,以便我们知道甚至推荐什么?到目前为止,我有一段我很满意的代码。我不想回答,因为我不知道你将什么归类为好或坏。
  • 这不是一个糟糕或不合理的问题。对于像裁剪图像这样的常见任务,SO 上有很多糟糕的代码/糟糕的方法。而且 fwiw - SO 隐含地是一个推荐引擎给定投票等。我想在这里看到的一个功能是一种促进和最终确定 wiki 解决方案的方法,可以在一个地方解决常见任务而不是一堆问题就像现在一样。
  • @skinnyTOD 这是一个绝妙的观点和绝妙的想法。一个声明它不是关于推荐但允许用户上下投票的网站?您在搜索时必须考虑措辞的方式,以匹配人们可能写的内容,这是您不必担心的事情。问题背后的知识维基很适合。
  • 我认为这实际上不是一个坏问题,而且我过去确实不得不处理这个问题。这是一个很棒的网站,讨论了同样的问题。来自 StackOverflow:stackoverflow.com/questions/612131/…vocaro.com/trevor/blog/2009/10/12/…

标签: iphone objective-c ios uiimage


【解决方案1】:

我这里使用https://stackoverflow.com/a/10491692/1271826中显示的类别,该类别提供UIImage一系列调整大小的方法,有效支持UIViewContentModeScaleToFillUIViewContentModeScaleAspectFillUIViewContentModeScaleAspectFit

我主要使用它来创建我的缩略图图像(使用我的imageByScalingAspectFillSize),并使用不同格式的图像进行此操作而不会发生意外。

【讨论】:

    【解决方案2】:

    如果您只讨论不包含元数据的 UIImage,则只需开始创建图形上下文并在上下文中调用 uiimage 绘制方法:

    - (UIImage*)resizeImage:(UIImage*)jpeg withSize:(CGSize)newSize
    {   
        UIGraphicsBeginImageContextWithOptions(newSize, NO, 0.0);
        [jpeg drawInRect:CGRectMake(0, 0, newSize.width, newSize.height)];
        UIImage *resizedImage = UIGraphicsGetImageFromCurrentImageContext();    
        UIGraphicsEndImageContext();
    
        return resizedImage;
    }
    

    如果您想要调整包含元数据(例如从磁盘读取或其他内容)的图像大小,请执行预览方法并在重新保存时使用原始源字典。

    【讨论】:

      猜你喜欢
      • 2014-10-29
      • 1970-01-01
      • 2010-09-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多