Skip to content

Instantly share code, notes, and snippets.

@tak-km
Created December 25, 2018 03:31
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tak-km/4b9f8e10c1dca5b1d765a60f606a7d49 to your computer and use it in GitHub Desktop.
Save tak-km/4b9f8e10c1dca5b1d765a60f606a7d49 to your computer and use it in GitHub Desktop.
@IBAction func pushImmageButton(_ sender: Any) {
let ciFilter = CIFilter(name: "CIQRCodeGenerator")
ciFilter?.setDefaults()
let baseUrlString="https://twitter.com/"
let qrString = baseUrlString+textField.text!
let data = qrString.data(using: String.Encoding.utf8)
ciFilter?.setValue(data, forKey: "inputMessage")
ciFilter?.setValue("L", forKey: "inputCorrectionLevel")
let ciContext = CIContext()
let sizeTransform = CGAffineTransform(scaleX: 4, y: 4)
let cgimg = ciContext.createCGImage((ciFilter?.outputImage)!, from: (ciFilter?.outputImage?.extent)!)
/////////////////
let qrcodeImage: CIImage = (ciFilter?.outputImage!.transformed(by: sizeTransform))!
// CIImageからUIImageに変換する
let imageContext = CIContext(options:nil)
let temp:CGImage = imageContext.createCGImage(qrcodeImage, from: qrcodeImage.extent)!
let ret = UIImage(cgImage: temp)
// ファイルパスを指定する
var imagePath: String {
let doc = NSSearchPathForDirectoriesInDomains( .documentDirectory, .userDomainMask, true )[0] as String
return ( doc as NSString ).appendingPathComponent("qr_send.jpg" )
}
// 指定したファイルパスに保存する
let senddata: NSData = ret.jpegData(compressionQuality: 0.9) as! NSData
senddata.write( toFile: imagePath, atomically: true )
let transferFile: NSURL = NSURL( fileURLWithPath: imagePath )
wcSession.transferFile( transferFile as URL, metadata: qrcodeImage.properties )
//送信終わり
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment