我有一个NSView,它根据窗口的大小自动调整大小。我加载图像并在NSView中显示它们,但我不希望NSView尝试“挤压”它们以适应NSView的大小。我想要的是让图像加载到NSView 100%,然后调整窗口大小以显示更多的图像,而不是缩放它以适应。我可能想稍后修改它以允许缩放和平移。
这就是我的所作所为:
-(void)drawRect:(NSRect)rect
{
NSRect theRect = NSMakeRect((rect.size.width/2)-(([theImage pixelsWide]/2)/2),
(rect.size.height/2)-(([theImage pixelsHigh]/2)/2),
[theImage pixelsWide]/2,
[theImage pixelsHigh]/2);
[theImage drawInRect:theRect];
}
答案 0 :(得分:2)
您是如何首先显示图像的?您要么使用NSImageView,要么自己在-drawRect中将图像绘制到自定义视图中:。
如果您正在使用图像视图,请查看其自动调整设置(其几何图形作为其父视图的几何图形更改)及其图像缩放属性(图像视图的几何图形更改后的图像大小和比率。
如果是自定义视图,则将图像绘制到您喜欢的任何矩形中,而不是视图的整个边界。