首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iOS,如何划定一个粗略的界限,为有趣的应用程序?

iOS,如何划定一个粗略的界限,为有趣的应用程序?
EN

Stack Overflow用户
提问于 2014-04-09 05:24:31
回答 2查看 264关注 0票数 2

我试着画一条粗线,在我的应用程序中,一条正常的直线看起来很奇怪。我使用的是有趣的字体等,直线只是不起作用。

当我说粗糙的时候,我的意思是我想给它添加一些噪音或纹理。

我试着添加一个图像作为纹理,但我尝试的选项使用统一的瓦片方法,这看起来太几何尺寸的声音。

我需要添加一个散射效果来绘制我的纹理图像,大致以一条线的形状,或某种随机的方法,以添加噪音。

我知道我可以在一个成像应用程序中画一个粗略的线,然后使用它,但我不确定这个阶段的颜色和大小,我宁愿使用动态的东西。

我在这个问题上花费的时间太长了,如果我花了很多时间在谷歌上搜索并且找不到我可以使用的任何东西,那么如果您有一个解决方案,请提供或指出一些示例代码。

谢谢。

这是我找到的最好的解决办法,但太统一了.

代码语言:javascript
复制
#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
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-04-20 11:08:20

我只想回到这个问题上,我花了太多的时间在这个问题上,研究了各种各样的有色解决方案。最后,我不得不使用油漆包来完成大部分工作。如果我能做得更好的话,我就能把整件事都做好了。

最后,我用一个黑色的标记画了一些线,把它们扫描成灰色,然后给它着色。

票数 0
EN

Stack Overflow用户

发布于 2014-04-09 13:01:00

没有完全回答你的问题,但你可以画线在一个油漆包,包括那些与你的应用程序,然后使用这样的代码来设置颜色的线条。

https://coffeeshopped.com/2010/09/iphone-how-to-dynamically-color-a-uiimage

如果您要使用雪碧工具包,则更改图像颜色变得容易得多。

代码语言:javascript
复制
[SKAction colorizeWithColor:[self randomColor]
                             colorBlendFactor:1.0
                                     duration:0]];
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22953475

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档