iphone – CGPath中的CGGradient

是否可以在iPhone上的路径中绘制渐变?

我正在寻找mac os x方法的替代品

-(void)drawInBezierPath:(NSBezierPath *)path relativeCenterPosition:(NSPoint)relativeCenterPosition of NSGradient.

解决方法

我认为这样的事情会起作用:

CGContextSaveGState(c);
CGContextAddpath(c,path);
CGContextClip(c)

// make a gradient
CGColorRef colors[] = { topColor,bottomColor };
CFArrayRef colorsArr = CFArrayCreate(NULL,(const void**)colors,sizeof(colors) / sizeof(CGColorRef),&kcfTypeArrayCallBacks);

CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
CGGradientRef gradient = CGGradientCreateWithColors(colorSpace,colorsArr,NULL);
CFRelease(colorSpace);
CFRelease(colorsArr);

//  Draw a linear gradient from top to bottom
CGPoint start = ...
CGPoint end = ...
CGContextDrawLinearGradient(c,gradient,start,end,0);

CFRelease(gradient);
CGContextRestoreGState(c);

相关文章

我正在用TitaniumDeveloper编写一个应用程序,它允许我使用Ja...
我的问题是当我尝试从UIWebView中调用我的AngularJS应用程序...
我想获取在我的Mac上运行的所有前台应用程序的应用程序图标....
我是一名PHP开发人员,我使用MVC模式和面向对象的代码.我真的...
OSX中的SetTimer在Windows中是否有任何等效功能?我正在使用...
我不确定引擎盖下到底发生了什么,但这是我的设置,示例代码和...