iOS,如何为有趣的应用划出一条粗略的界限?
我试图画一条粗线,一条普通的直线在我的应用程序中看起来很奇怪。我用的是一种有趣的字体等等,直线就是不行 当我说粗糙,我的意思是我想给它添加一些噪音或纹理 我尝试过添加一个图像作为纹理,但我尝试过的选项使用了一种统一的平铺方法,这看起来太符合地理位置 我需要添加一个散射效果来粗略地将纹理图像绘制成线的形状,或者使用某种随机方法来添加噪声 我知道我可以在图像应用程序中画一条粗略的线并使用它,但我不确定在这个阶段的颜色和大小,我宁愿使用动态的东西 我在这个问题上花费的时间太长了,如果我在谷歌上搜索的时间太长了,我找不到任何我可以使用的东西,所以如果你有一个解决方案,请提供或告诉我一些示例代码 谢谢 这是我找到的最好的解决方案,但它太统一了iOS,如何为有趣的应用划出一条粗略的界限?,ios,objective-c,cocoa-touch,core-graphics,Ios,Objective C,Cocoa Touch,Core Graphics,我试图画一条粗线,一条普通的直线在我的应用程序中看起来很奇怪。我用的是一种有趣的字体等等,直线就是不行 当我说粗糙,我的意思是我想给它添加一些噪音或纹理 我尝试过添加一个图像作为纹理,但我尝试过的选项使用了一种统一的平铺方法,这看起来太符合地理位置 我需要添加一个散射效果来粗略地将纹理图像绘制成线的形状,或者使用某种随机方法来添加噪声 我知道我可以在图像应用程序中画一条粗略的线并使用它,但我不确定在这个阶段的颜色和大小,我宁愿使用动态的东西 我在这个问题上花费的时间太长了,如果我在谷歌上搜索的时
#import "DrawTexturedLine.h"
@implementation DrawTexturedLine
- (void)drawRect:(CGRect)rect
{
CGContextRef context = UIGraphicsGetCurrentContext();
[self patternMake2:rect context:context];
}
void pattern2Callback (void *info, CGContextRef context) {
UIImage *image = [UIImage imageNamed:@"particle.png"];
CGImageRef imageRef = [image CGImage];
CGContextDrawImage(context, CGRectMake(0, 0, 50, 25), imageRef);
}
- (void)patternMake2:(CGRect)rect context:(CGContextRef)context
{
static const CGPatternCallbacks callbacks = { 0, &pattern2Callback, NULL };
CGColorSpaceRef patternSpace = CGColorSpaceCreatePattern(NULL);
CGContextSetFillColorSpace(context, patternSpace);
CGColorSpaceRelease(patternSpace);
CGSize patternSize = CGSizeMake(25/2.0, 25);
CGPatternRef pattern = CGPatternCreate(NULL, self.bounds,
CGAffineTransformIdentity, patternSize.width, patternSize.height,
kCGPathFillStroke, true, &callbacks);
CGFloat alpha = 1;
CGContextSetFillPattern(context, pattern, &alpha);
CGPatternRelease(pattern);
CGContextFillRect(context, rect);
//CGContextRestoreGState(context);
}
@end
不完全回答您的问题,但您可以在画图包中绘制线条,并将其包含在应用程序中,然后使用类似这样的代码设置线条的颜色 如果你使用雪碧套件,改变图像的颜色就变得容易多了
[SKAction colorizeWithColor:[self randomColor]
colorBlendFactor:1.0
duration:0]];
我刚刚回到这个问题上,我花了太多时间在这个问题上,研究各种着色解决方案。最后,我不得不用一个油漆包来完成大部分工作。如果我能做得更好的话,我可以在一个油漆包里完成整件事 最后我用一个黑色记号笔画了几条线,把它们扫描成灰度,然后给它上色