小编hen*_*ter的帖子

如何在Swift中将NSImage写入JPEG文件?

一个快速的问题.不是Obj-C问题.请不要将其标记为重复

我正在尝试编写一个在OS X上生成JPEG缩略图的类.我希望我有一些合理的东西形成缩小的NSImage,但我很难将JPEG文件写入磁盘.

class ImageThumbnail {
    let size = CGSize(width: 128, height: 128)
    var originalPath = ""

    init(originalPath: String){
        self.originalPath = originalPath
    }

    func generateThumbnail() {
        let url = NSURL(fileURLWithPath: originalPath)

        if let imageSource = CGImageSourceCreateWithURL(url, nil) {
            let options: [NSString: NSObject] = [
                kCGImageSourceThumbnailMaxPixelSize: max(size.width, size.height) / 2.0,
                kCGImageSourceCreateThumbnailFromImageAlways: true
            ]

            let cgImage = CGImageSourceCreateThumbnailAtIndex(imageSource, 0, options)
            let scaledImage = cgImage.flatMap { NSImage(CGImage: $0, size: size) }

            // How do I write scaledImage to a JPEG …
Run Code Online (Sandbox Code Playgroud)

cocoa nsimage swift

5
推荐指数
1
解决办法
4380
查看次数

标签 统计

cocoa ×1

nsimage ×1

swift ×1