代码之家  ›  专栏  ›  技术社区  ›  andyvn22

简单NSImage图形未按预期工作

  •  0
  • andyvn22  · 技术社区  · 15 年前

    这没有任何作用:

    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"]];
    

    在我看来,如果后者产生了明显的结果,那么前者也应该如此。我想我在什么地方犯了个愚蠢的错误?

    2 回复  |  直到 15 年前
        1
  •  4
  •   Ken    15 年前

    测试图像将为2x2像素。由于您在(1,1)处绘制sourceImage,向上1个像素,在原点右侧1个像素,因此四个像素中的三个像素仍将保持清晰。右上角的像素将与sourceImage的左下角像素相同。如果这是明确的,你不会看到任何东西。

        2
  •  3
  •   NSResponder    15 年前

    我没有看到足够的代码来诊断问题。您如何调用第一个清单中的代码?“levelView”是否已在窗口中,或者是否已在该点从nib加载?