CGImage显示

时间:2015-02-08 23:05:49

标签: swift uiimage cgimage

在swift中我有一个功能,我想在用户触摸屏幕时在图像上下文中显示图像。代码编译正确,但没有图像出现。我确信错误在于这个功能,因为我不确定我是否完全理解如何显示图像。我是否正在以正确的方式制作图像?

func generateImage() -> UIImage {

    let centerX = CGRectGetWidth(self.frame) / 2
    let centerY = CGRectGetHeight(self.frame) / 2
    var startPoint = CGPoint(x: centerX, y: centerY)
    var endPoint = CGPoint(x: centerX, y: centerY)
    let imageRect = CGRect(x: centerX, y: centerY, width: 150, height: 150)
    let insideImage = UIImage(named: "at")
    let insideCGImage = insideImage?.CGImage

    // Generate the image
    // Begin an image context
    UIGraphicsBeginImageContext(self.frame.size)
    let imageContext = UIGraphicsGetCurrentContext()
    // Use CG to draw the image into the image context
    CGContextDrawImage(imageContext, imageRect, insideCGImage)
    let image = UIGraphicsGetImageFromCurrentImageContext()
    UIGraphicsEndImageContext()

    return image
}

1 个答案:

答案 0 :(得分:0)

您必须使用函数的返回值:

mainImage = generateImage()

否则,该值不会在任何地方使用并保持未使用状态。

如果您的方法在其他类中,则必须创建实例并调用方法:

var classInstance = YourClassWithTheFunction()

然后你可以调用这样的方法:

mainImage = classInstance.generateImage()