如何从NSImageView获取GIF图像并将其保存到磁盘

时间:2016-01-29 06:02:45

标签: swift cocoa gif nsimage nsimageview

目前我正在开发一个NSImageView,用户在其上拖放图像,图像会保存到磁盘上。我能够保存png和jpeg图像,但在保存GIF图像时,所有保存的都是来自gif的单帧。 imageView能够显示整个动画gif。

我目前将图像从NSImageView保存到磁盘的实现是:

   let cgRef = image.CGImageForProposedRect(nil, context: nil, hints: nil)
   let newRep = NSBitmapImageRep(CGImage: cgRef!)
   newRep.size = image.size
   let type = getBitmapImageFileType(imageName.lowercaseString) // getBitmapImageFileType: returns NSBitmapImageFileType
   let properties = type == .NSGIFFileType ? [NSImageLoopCount: 0] : Dictionary<String, AnyObject>()
   let data: NSData = newRep.representationUsingType(type, properties: properties)!
   data.writeToFile(link, atomically: true)

我应该如何修改此代码,以便能够将所有GIF帧保存到磁盘。

0 个答案:

没有答案