1、搭个界面
2、写代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
// // viewcontroller.swift // generatorqrcode // // created by targetcloud on 2016/12/3. // copyright © 2016年 targetcloud. all rights reserved. // import uikit class viewcontroller: uiviewcontroller { @iboutlet weak var qrimg: uiimageview! @iboutlet weak var qrcontent: uitextview! @ibaction func generatorqrimg(_ sender: any) { view.endediting( true ) let str = qrcontent.text ?? "" let filter = cifilter(name: "ciqrcodegenerator" ) filter?.setdefaults() let data = str.data( using : string.encoding.utf8) filter?.setvalue(data, forkey: "inputmessage" ) filter?.setvalue( "m" , forkey: "inputcorrectionlevel" ) var image = filter?.outputimage let transform = cgaffinetransform(scalex: 10, y: 10) //处理成为一个高清图片 image = image?.applying(transform) var resultimage = uiimage(ciimage: image!) let centerimg = uiimage(named: "targetcloud.png" ) resultimage = mergeimage(resultimage, centerimg: centerimg!, drawsize:cgsize(width: 80, height: 80)) qrimg.image = resultimage } func mergeimage(_ sourceimage: uiimage, centerimg: uiimage,drawsize:cgsize) -> uiimage { let size = sourceimage.size uigraphicsbeginimagecontext(size) sourceimage.draw(in: cgrect(x: 0, y: 0, width: size.width, height: size.height)) centerimg.draw(in: cgrect(x: (size.width - drawsize.width) * 0.5, y: (size.height - drawsize.height) * 0.5, width: drawsize.width, height: drawsize.height)) let resultimage = uigraphicsgetimagefromcurrentimagecontext() uigraphicsendimagecontext() return resultimage! } } |
3、运行效果
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
原文链接:http://blog.csdn.net/callzjy/article/details/53451699