当我按下按钮时 UIView 到图像
UIView to to Image when I press button
我是新手,正在练习中。我有一个带有 3 个 imageView 的应用程序(创建头像应用程序)。我希望当我按下按钮时,使用 3 个自定义图像视图保存图像。我的代码如下:
@IBAction func saveImageMen (_ sender: Any) {
}
extension UIView{
func createTransparentImage () -> UIImage {
let renderFormat = UIGraphicsImageRendererFormat.default ()
renderFormat.opaque = false
self.isOpaque = false
self.layer.isOpaque = true
self.backgroundColor = UIColor.clear
self.layer.backgroundColor = UIColor.clear.cgColor
let renderer = UIGraphicsImageRenderer (size: bounds.size, format: renderFormat)
return renderer.image {
(context) in
layer.render (in: context.cgContext)
}
}
}
我不知道如何在按下按钮时运行此扩展程序
所以它是 UIView class 的扩展,你可以用 class 的实例调用一个函数所以你去:
UIView().createTransparentImage()
这将 return 图像,以便像上面那样使用它:
let image = UIView().createTransparentImage()
既然你想渲染一个图像,你可以为 UIImageView 创建扩展,因为它是从下面的 UIView 派生的,这将在点击按钮时渲染图像:
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var imageView: UIImageView!
override func viewDidLoad() {
super.viewDidLoad()
}
@IBAction func renderImage(_ sender: Any) {
imageView.createTransparentImage()
}
}
extension UIImageView {
func createTransparentImage () {
let renderFormat = UIGraphicsImageRendererFormat.default ()
renderFormat.opaque = false
self.isOpaque = false
self.layer.isOpaque = true
self.backgroundColor = UIColor.black
self.layer.backgroundColor = UIColor.black.cgColor
let renderer = UIGraphicsImageRenderer (size: bounds.size, format: renderFormat)
self.image = renderer.image {
(context) in
layer.render (in: context.cgContext)
}
}
}
我是新手,正在练习中。我有一个带有 3 个 imageView 的应用程序(创建头像应用程序)。我希望当我按下按钮时,使用 3 个自定义图像视图保存图像。我的代码如下:
@IBAction func saveImageMen (_ sender: Any) {
}
extension UIView{
func createTransparentImage () -> UIImage {
let renderFormat = UIGraphicsImageRendererFormat.default ()
renderFormat.opaque = false
self.isOpaque = false
self.layer.isOpaque = true
self.backgroundColor = UIColor.clear
self.layer.backgroundColor = UIColor.clear.cgColor
let renderer = UIGraphicsImageRenderer (size: bounds.size, format: renderFormat)
return renderer.image {
(context) in
layer.render (in: context.cgContext)
}
}
}
我不知道如何在按下按钮时运行此扩展程序
所以它是 UIView class 的扩展,你可以用 class 的实例调用一个函数所以你去:
UIView().createTransparentImage()
这将 return 图像,以便像上面那样使用它:
let image = UIView().createTransparentImage()
既然你想渲染一个图像,你可以为 UIImageView 创建扩展,因为它是从下面的 UIView 派生的,这将在点击按钮时渲染图像:
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var imageView: UIImageView!
override func viewDidLoad() {
super.viewDidLoad()
}
@IBAction func renderImage(_ sender: Any) {
imageView.createTransparentImage()
}
}
extension UIImageView {
func createTransparentImage () {
let renderFormat = UIGraphicsImageRendererFormat.default ()
renderFormat.opaque = false
self.isOpaque = false
self.layer.isOpaque = true
self.backgroundColor = UIColor.black
self.layer.backgroundColor = UIColor.black.cgColor
let renderer = UIGraphicsImageRenderer (size: bounds.size, format: renderFormat)
self.image = renderer.image {
(context) in
layer.render (in: context.cgContext)
}
}
}