CGPattern与swift

时间:2015-04-11 09:01:36

标签: ios swift drawing draw

我想用

func CGContextSetFillPattern(_ c: CGContext!,
                       _ pattern: CGPattern!,
                       _ components: UnsafePointer<CGFloat>)

在我的绘图应用程序中,填充模式... 如何使用swift实现CGPattern? CGContext参考link

 func drawLineFrom(fromPoint: CGPoint, toPoint: CGPoint) {

// 1
UIGraphicsBeginImageContext(view.frame.size)
let context = UIGraphicsGetCurrentContext()
tempImageView.image?.drawInRect(CGRect(x: 0, y: 0, width: view.frame.size.width, height: view.frame.size.height))

// 2
CGContextMoveToPoint(context, fromPoint.x, fromPoint.y)
CGContextAddLineToPoint(context, toPoint.x, toPoint.y)

// 3
CGContextSetLineCap(context, kCGLineCapRound)
CGContextSetLineWidth(context, brushWidth)
CGContextSetRGBStrokeColor(context, red, green, blue, 1.0)
CGContextSetBlendMode(context, kCGBlendModeNormal)

// 4
CGContextStrokePath(context)

// 5
tempImageView.image = UIGraphicsGetImageFromCurrentImageContext()
tempImageView.alpha = opacity
UIGraphicsEndImageContext()

1 个答案:

答案 0 :(得分:-1)

您可以查看此链接 Quartz 2D programming PatternsCGPattern。在使用fillpatern的快捷方式中,您需要编写一个回调函数来绘制一个模式实例,然后将指针传递给回调到cgpatterncreate。

在这里你有教程如何在obj-c cgpatternref obj-c中完成它你可以轻松地将它翻译成swift