OSDN Git Service

3f63a531d1258d2c8f81ca228c3c58605b1aa948
[kcd/KCD.git] / KCD / ScreenshotRegister.swift
1 //
2 //  ScreenshotRegister.swift
3 //  KCD
4 //
5 //  Created by Hori,Masaki on 2017/11/05.
6 //  Copyright © 2017年 Hori,Masaki. All rights reserved.
7 //
8
9 import Cocoa
10
11 class ScreenshotRegister {
12     
13     
14     let url: URL
15     
16     init(_ url: URL) {
17         
18         self.url = url
19     }
20     
21     func registerScreenshot(_ image: NSBitmapImageRep, name: String, completeHandler: @escaping (URL) -> Void) {
22         
23         DispatchQueue(label: "Screenshot queue").async {
24             
25             guard let data = image.representation(using: .jpeg, properties: [:]) else { return }
26             
27             let url = self.url
28                 .appendingPathComponent(name)
29                 .appendingPathExtension("jpg")
30             let pathURL = FileManager.default.uniqueFileURL(url)
31             
32             do {
33                 
34                 try data.write(to: pathURL)
35                 
36             } catch {
37                 
38                 print("Can not write image")
39                 return
40             }
41             
42             DispatchQueue.main.async {
43                 
44                 completeHandler(pathURL)
45             }
46         }
47     }
48 }