Ich erstelle eine Trichterform mit CGContext
, indem ich zuerst ein Dreieck zeichne, gefolgt von einer Linie. Ich implementiere das in drawRect
meiner Unterklasse UIView
, aber frage mich, ob es eine alternative Möglichkeit gibt, dies zu zeichnen, weil die Linien ein wenig verschwommen sind.Gibt es eine bessere Alternative zu 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);
}
Aber wenn ich ein Bild importieren, die ich entworfen, das Bild ist knackiger (Sie auf einem iPhone sagen kann):
So gibt es eine bessere Möglichkeit, dieses Ergebnis zu erreichen? Die CGContext
Zeilen sind ein wenig verschwommen, so würde ich gerne wissen, ob es eine bessere Alternative gibt und was die Vor- und Nachteile dieser Methoden sind.
Ich sehe beide Bilder gleichermaßen verschwommen. – Tricertops