我正在开发osx应用程序。我想将 Gif 图像粘贴到粘贴板中。我怎么能这样做?
我拥有的是
我想要做的是将该图像粘贴到粘贴板中。我可以粘贴 PNG 图片,但我需要的是粘贴 GIF 图片。
我现有的代码
let imageURL = imageObject.imageURL!
let fileName = imageURL.lastPathComponent
var saveURL = NSURL(string: "file://" + NSTemporaryDirectory())
saveURL = saveURL?.URLByAppendingPathComponent(fileName!)
// I have data now
let data = NSData(contentsOfURL: imageURL)
pasteboard.declareTypes([NSTIFFPboardType], owner: nil)
pasteboard.setData(data!, forType: "com.compuserve.gif")
答案 0 :(得分:1)
大约10年前,同一个人问How do I put a GIF onto an NSPasteboard? 在Apple讨论组中,这是我的答案。虽然10年前和NSPasteboard方法发生了变化,但我的答案仍然有效。我承认:我的建议有点脏。
答案 1 :(得分:0)
我设法使用以下代码使之工作:
let pb = NSPasteboard.general
do {
let fileType = try NSWorkspace.shared.type(ofFile: localPath.path)
let pasteboardType = NSPasteboard.PasteboardType.init(fileType)
pb.declareTypes([pasteboardType], owner: nil)
pb.writeObjects([localPath as NSURL])
} catch {
return
}
答案 2 :(得分:-1)
好的,我花了6个小时在线搜索后才开始工作。
基本上我必须下载图像文件并将其粘贴为文件名。
def getdict(**vals):
return vals
kwargs = exec('getdict(%s)' % sys.argv[1])
foo(**kwargs)