如何在 Swift 中使用 drawInRect?
How do I use drawInRect in Swift?
我正在尝试将两个图像混合在一起用于照片应用程序,它需要使用 drawInRect。这在 Obj-C 中似乎是一个简单的概念,但由于某种原因,我在 Swift 中遇到了问题。
这是我为实现这一目标所做的许多尝试之一:
secondImage.drawInRect(((origin.x * xScale), (origin.y * yScale), size.width * xScale, size.height * yScale, blendMode: kCGBlendModeNormal, alpha: 1.0)
我尝试过其他方法,但我一直被告知我不能使用 CGFloats 或 CGPoints(这对我来说很奇怪)而且我不确定如何表达这一点。 Apple 文档对我来说似乎不清楚:https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIImage_Class/#//apple_ref/occ/instm/UIImage/drawInRect:
但也许只有我一个人。谁能告诉我需要给 drawInRect 什么参数?
drawInRect:
接受一个 CGRect
作为参数(顾名思义)
使用
secondImage.drawInRect(CGRect(x: <#CGFloat#>, y: <#CGFloat#>, width: <#CGFloat#>, height: <#CGFloat#>), blendMode: kCGBlendModeNormal, alpha: 1.0)
参数中
在 swift 4 drawInRect
中重命名为:
your_image.draw(in: CGRect, blendMode: CGBlendMode, alpha: CGFloat)
我正在尝试将两个图像混合在一起用于照片应用程序,它需要使用 drawInRect。这在 Obj-C 中似乎是一个简单的概念,但由于某种原因,我在 Swift 中遇到了问题。
这是我为实现这一目标所做的许多尝试之一:
secondImage.drawInRect(((origin.x * xScale), (origin.y * yScale), size.width * xScale, size.height * yScale, blendMode: kCGBlendModeNormal, alpha: 1.0)
我尝试过其他方法,但我一直被告知我不能使用 CGFloats 或 CGPoints(这对我来说很奇怪)而且我不确定如何表达这一点。 Apple 文档对我来说似乎不清楚:https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIImage_Class/#//apple_ref/occ/instm/UIImage/drawInRect:
但也许只有我一个人。谁能告诉我需要给 drawInRect 什么参数?
drawInRect:
接受一个 CGRect
作为参数(顾名思义)
使用
secondImage.drawInRect(CGRect(x: <#CGFloat#>, y: <#CGFloat#>, width: <#CGFloat#>, height: <#CGFloat#>), blendMode: kCGBlendModeNormal, alpha: 1.0)
参数中
在 swift 4 drawInRect
中重命名为:
your_image.draw(in: CGRect, blendMode: CGBlendMode, alpha: CGFloat)