目标C:使用UIImage进行描边操作

时间:2011-11-28 01:43:10

标签: iphone objective-c ios ipad core-graphics

我正在尝试为我的画笔应用纹理,但我真的很难弄清楚它是如何完成的。

这是我输出的图像。

我使用了一个UIImage,只是跟在屏幕上的触摸,但当我快速滑动时,结果在右侧“W”,而在左侧,这是我慢慢滑动的结果。

enter image description here

我尝试使用CGContextMoveToPointCGContextAddLineToPoint我不知道如何应用纹理。

是否可以将UIImage用于笔触纹理?

这是我的代码

    UIImage * brushImageTexture = [UIImage imageNamed:@"brushImage.png"]; 
    [brushImagetexture drawAtPoint:CGPointMake(touchCurrentPosition.x, touchVurrentPosition.y) blendMode:blendMode alpha:1.0f];

1 个答案:

答案 0 :(得分:5)

您需要在从前一点到当前点的每一点上手动绘制图像。

CGPoint vector = CGPointMake(currentPosition.x - lastPosition.x, currentPosition.y - lastPosition.y);
CGFloat distance = hypotf(vector.x, vector.y);
vector.x /= distance;
vector.y /= distance;
for (CGFloat i = 0; i < distance; i += 1.0f) {
    CGPoint p = CGPointMake(lastPosition.x + i * vector.x, lastPosition.y + i * vector.y);
    [brushImageTexture drawAtPoint:p blendMode:blendMode alpha:1.0f];
}