我一整天都在电脑上试图弄清楚如何划出一些线条 现有的NSImage。
它使它工作但我使用的代码
CGContextRef context = CGBitmapContextCreate(NULL, w, h, 8, 4 * w, colorSpace, kCGImageAlphaPremultipliedFirst);
缺点是我必须知道图像中的位数,所以会发生的结果是位图有时会比原始NSImage的图像质量低。
直接在NSImage上直接绘制线条最简单/最快捷的方法是什么?
如果代码兼容Mac OSX和iOS,那就太好了。
答案 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];
}