在现有的NSImage中将线条画成十字线

时间:2013-06-16 19:09:08

标签: iphone macos graphics

我一整天都在电脑上试图弄清楚如何划出一些线条 现有的NSImage。

它使它工作但我使用的代码

CGContextRef context = CGBitmapContextCreate(NULL, w, h, 8, 4 * w, colorSpace, kCGImageAlphaPremultipliedFirst);

缺点是我必须知道图像中的位数,所以会发生的结果是位图有时会比原始NSImage的图像质量低。

直接在NSImage上直接绘制线条最简单/最快捷的方法是什么?

如果代码兼容Mac OSX和iOS,那就太好了。

1 个答案:

答案 0 :(得分:1)

iOS上不存在NSImage,因此代码必须不同。在NSImage上绘制相当容易。

示例:

- (void)drawCrosshair:(NSImage*)img
{
    [img lockFocus];

    NSBezierPath* path = [NSBezierPath bezierPath];

    [path moveToPoint:CGPointMake(90,100)];
    [path lineToPoint:CGPointMake(110,100)];

    [path moveToPoint:CGPointMake(100,90)];
    [path lineToPoint:CGPointMake(100,110)];

    [[NSColor blackColor] set];
    [path stroke];
    [img unlockFocus];
}