Kakao'da çizim (oldukça basit) şekillerle tutmaya çalışıyorum. Düz kenarlarla nasıl yol açacağımı anlıyorum (duh!), Fakat eğriler söz konusu olduğunda, kafamı hangi şekillerin hangi eğriyi üreteceği konusunda atamıyorum. Spesifik olarak, yönteme controlPoint1:
ve controlPoint2:
argümanlarının şekli nasıl etkilediğini bilmiyorum.NSBezierPath eğrisini anlamak için zor bir zaman geçirmeToPoint: yöntem
Ve kullanıyorum kodudur:
Google Chrome'da yeni bir sekme şeklini yaklaşmak için çalışıyorum-(void)drawRect:(NSRect)dirtyRect {
NSSize size = [self bounds].size;
CGFloat height = size.height;
CGFloat width = size.width;
NSBezierPath *path = [NSBezierPath bezierPath];
[path setLineWidth:1];
[path moveToPoint:NSMakePoint(0, 0)];
[path curveToPoint:NSMakePoint(width * 0.1, height)
controlPoint1:NSMakePoint(width * 0.05, height)
controlPoint2:NSMakePoint(width * 0.03, height * 0.05)];
[path lineToPoint:NSMakePoint(width * 0.9, height)];
[path curveToPoint:NSMakePoint(width, 0)
controlPoint1:NSMakePoint(width * 0.95, height)
controlPoint2:NSMakePoint(width * 0.97, height * 0.05)];
[path closePath];
[[NSColor colorWithCalibratedWhite:0.98 alpha:1] set];
[path fill];
[[NSColor colorWithCalibratedWhite:0.6 alpha:1] set];
[path stroke];
}
Ben korkunç başaramıyorum. Biz güzel şeyler :(
olamaz neden
bakınız, bu
kimse bana o çizim eğrileri gelince düşünmek konusunda bazı önerilerde verebilir misiniz? Bu yolu çizer örneği çok iyi olurdu, ama gerçekten bu girdileri sadece beni geri tutan curveToPoint:controlPoint1:controlPoint2:
ile anlıyoruz.
UPDATE | @ Ahruman'ın cevabı nihayet şekil almaya başladım.% 100 değil. köşeler, ama aslında en azından simetrik bir şekli var :)
+1 Kalın kafamı gerçekleştirmek için +1 Bir grafik programı ile oynamalıyım :) Sonunda neredeyse doğru bir şey buldum! – d11wtq