【发布时间】:2014-12-19 19:00:21
【问题描述】:
我使用以下代码绘制图案,使笔触看起来像粉笔灰。但是,如果我使用图案,我找不到任何方法来改变笔画的颜色。有没有办法做到这一点?
CGAffineTransform patternTransform = CGAffineTransformIdentity;
const CGPatternCallbacks kPatternCallbacks = {0, DrawPatternCellCallback, NULL};
const CGRect patternBounds = CGRectMake(0, 0, 8, 8);
CGPatternRef strokePattern = CGPatternCreate(
NULL,
patternBounds,
patternTransform,
8, // horizontal spacing
8,// vertical spacing
kCGPatternTilingNoDistortion,
true,
&kPatternCallbacks);
CGFloat color1[] = {1.0, 0, 1.0, 1};
CGColorSpaceRef patternSpace = CGColorSpaceCreatePattern(NULL);
CGContextSetStrokeColorSpace(cacheContext, patternSpace);
CGContextSetStrokePattern(cacheContext, strokePattern, color1);
// CGColorSpaceRef patternSpace = CGColorSpaceCreatePattern(NULL);
// CGContextSetStrokeColorSpace(cacheContext, patternSpace);
CGContextSetLineCap(cacheContext, kCGLineCapRound);
CGContextSetLineWidth(cacheContext, 4);
//Callback
void DrawPatternCellCallback(void *info, CGContextRef cgContext)
{
UIImage *patternImage = [UIImage imageNamed:@"chalk_brush.png"];
CGContextDrawImage(cgContext, CGRectMake(0, 0, 8, 8), patternImage.CGImage);
}
【问题讨论】:
-
颜色在回调中。显示回调。你了解“屏蔽”模式吗?
标签: ios objective-c core-graphics cgcontext