Я создаю форму воронки, используя CGContext
, сначала рисуя треугольник, а затем линию. Я реализую это в drawRect
моего подкласса UIView
, но задаюсь вопросом, есть ли альтернативный способ его рисования, потому что строки немного размыты.Есть ли лучшая альтернатива CGContext?
override func drawRect(rect: CGRect) {
let context: CGContextRef = UIGraphicsGetCurrentContext()!
CGContextClearRect(context, rect);
let rectWidth: CGFloat = 15
// Line
CGContextSetRGBStrokeColor(context, 0, 0, 0, 1)
CGContextMoveToPoint(context, rectWidth/2, 5)
CGContextAddLineToPoint(context, rectWidth/2, 10)
CGContextSetStrokeColorWithColor(context, UIColor.blueColor().CGColor)
CGContextSetLineCap(context, CGLineCap.Round)
CGContextSetLineWidth(context, 3.0)
CGContextStrokePath(context)
// Triangle
CGContextBeginPath(context);
CGContextMoveToPoint (context, CGRectGetMinX(rect), CGRectGetMinY(rect));
CGContextAddLineToPoint(context, CGRectGetMidX(rect), 8);
CGContextAddLineToPoint(context, CGRectGetMaxX(rect), CGRectGetMinY(rect));
CGContextClosePath(context);
UIColor.blueColor().setFill()
CGContextFillPath(context);
}
Но когда я импортировать изображение, которое я разработал, изображение четче (вы можете сказать на iPhone):
Итак, есть лучший способ достичь этого результата? Линии CGContext
немного размыты, поэтому я хотел бы знать, есть ли более эффективная альтернатива и каковы плюсы и минусы этих методов.
Я вижу оба изображения одинаково размытыми. – Tricertops