swift - 调整 iPad2 图标图像大小 - swift

标签 swift image-processing ios8

用于调整图像大小的简单代码,即导航栏(来源 link ),用于具有 native 分辨率的 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 上得到: enter image description here
我可以通过更改代码手动渲染所需的图像:

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
        }

enter image description here

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

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

最佳答案

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

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

关于swift - 调整 iPad2 图标图像大小 - swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32673330/

相关文章:

ios - 以编程方式更改启动画面图像

swift - 使用 swift 创建乘法表

ios - 代码有效,但不确定如何将其实现到 iOS 中

matlab - MATLAB 中的高斯平滑

image - 选择霍夫变换的参数

ios - Swift - XCode6 beta5 每个类都需要 init(coder)

ios - 在 Xcode 上归档时按顺序使用 max() 和 min() 的 Swift 问题

ios - 如何通过 Swift 中的两个不同类调用类中的同一个变量?

python-3.x - 如何在 cv2.findcontours 上获得准确的结果以在 BW/黑白图像中查找对象?

uiview - 如何在 Swift 中的主视图中添加 subview