【问题标题】:Resizing image for icons for iPad2 - swift调整 iPad2 图标的图像大小 - swift
【发布时间】:2015-09-19 21:17:47
【问题描述】:

用于调整图像大小的简单代码,即用于导航栏(来源 link),用于具有本机分辨率的 png 图像:722x1028

let imageView = UIImageView(frame: CGRectMake(0, 0, 0, 60))
imageView.image =  UIImage(named: "girl")
imageView.contentMode = UIViewContentMode.ScaleAspectFit
self.navigationItem.titleView = imageView

我在 iPad2 上:
我可以通过更改代码手动渲染所需的图像:

let imageView = UIImageView(frame: CGRectMake(0, 0, 0, 60))
imageView.image = imageWithImage(UIImage(named: "girl")!, scaledToSize: CGSizeMake(42,60))
self.navigationItem.titleView = imageView

func imageWithImage(image:UIImage, scaledToSize newSize:CGSize) -> UIImage{
            UIGraphicsBeginImageContextWithOptions(newSize, false, 0.0);
            image.drawInRect(CGRectMake(0, 0, newSize.width, newSize.height))
            let newImage:UIImage = UIGraphicsGetImageFromCurrentImageContext()
            UIGraphicsEndImageContext()
            return newImage
        }

但这是一个相当昂贵的解决方案。

是否有本地库或简单的快速解决方案来使 png 图像自动调整大小并具有良好的质量?

【问题讨论】:

    标签: swift image-processing ios8


    【解决方案1】:

    如果您为所有设备硬编码大小为 42x60 点,最好的解决方案是提供该大小的预渲染图像。这对电池很友好,并允许在添加到应用程序之前在高质量编辑器中调整图像:从 1000 像素调整到 60 像素有点剧烈,会导致细节丢失。

    如果这是不可能的(即图像是从互联网动态加载的等),我会从 CIImageCIFilter(name: "CILanczosScaleTransform") 开始我的研究,这提供了非常好的插值质量,如果丢失细节太高了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-21
      • 2013-02-12
      • 1970-01-01
      • 2015-09-27
      • 1970-01-01
      • 1970-01-01
      • 2010-11-20
      • 1970-01-01
      相关资源
      最近更新 更多