调整图像大小 - SDWebImage -

时间:2018-02-06 13:39:33

标签: ios swift sdwebimage

我正在使用 SDWebImage 显示图片。您可以查看以下代码。

{{1}}

我需要调整服务器图像的宽度和高度,并在tableview单元格图像中设置。

我的服务器图像分辨率很高 宽度 - 1519 身高 - 950

和tableview有 - 宽度 - 320 身高 - 150

如果您需要任何澄清,请告诉我。

2 个答案:

答案 0 :(得分:2)

尝试使用此代码来缩放图像。

import UIKit
import SDWebImage

class ViewController: UIViewController {

    @IBOutlet weak var img: UIImageView!


    override func viewDidLoad() {
        super.viewDidLoad()


        img.sd_setImage(with: URL(string: "https://images.techhive.com/images/article/2016/06/macos_sierra_big-sierra-100667928-orig.png"), placeholderImage: nil) { (image: UIImage?, error: Error?, cacheType:SDImageCacheType!, imageURL: URL?) in

        //new size
        self.img.image = self.resizeImage(image: image!, newWidth: 600)

        //original size
        //self.img.image = image
    }

}

func resizeImage(image: UIImage, newWidth: CGFloat) -> UIImage {

    let scale = newWidth / image.size.width
    let newHeight = image.size.height * scale
    UIGraphicsBeginImageContext(CGSize(width: newWidth, height: newHeight))
    image.draw(in: CGRect(x: 0, y: 0, width: newWidth, height: newHeight))
    let newImage = UIGraphicsGetImageFromCurrentImageContext()
    UIGraphicsEndImageContext()

    return newImage!
    }
}

答案 1 :(得分:0)

有点晚了,但对于其他人,如果您已经知道所需的尺寸,则可以使用

<块引用>

SDImageResizingTransformer

let transformer = SDImageResizingTransformer(size: CGSize(width: 300, height: 300), scaleMode: .aspectFill)
yourImage.sd_setImage(with: URL(string: "url_to_your_image"),  placeholderImage: nil, context: [.imageTransformer: transformer])