这没有做任何事情:
NSImage* testImage = [[NSImage alloc] initWithSize:NSMakeSize(2.0,2.0)];
[testImage lockFocus];
[[NSImage imageNamed:@"testImage"] drawAtPoint:NSMakePoint(1.0,1.0) fromRect:NSZeroRect operation:NSCompositeCopy fraction:1.0];
[testImage unlockFocus];
[levelView setImage:testImage];
......但这样做:
[levelView setImage:[NSImage imageNamed:@"testImage"]];
如果后者产生可见的结果,那么对我来说似乎是前者。我想我在某个地方犯了一个愚蠢的错误?
答案 0 :(得分:4)
让我们调用[NSImage imageNamed:@“testImage”] sourceImage。
testImage将是2x2像素。由于您在(1,1)处绘制sourceImage,原点为1像素,右侧为1像素,因此四个像素中的3个仍然必须清晰。右上角的像素与sourceImage的左下角像素相同。如果这很清楚,你就不会看到任何东西。
答案 1 :(得分:3)
我在这里没有看到足够的代码来诊断问题。你是如何在第一个列表中调用代码的? “levelView”是否已经在窗口中,或者是否已在该点从笔尖加载?
项目中是否有名为“testImage”的图像文件?你确定你想要这个图像只有两个像素的正方形吗?