6

谁能给我推荐一个在 NSImageView 中缩放图像的好示例代码。谢谢。

4

5 回答 5

3

如果您查看文档,您会发现 NSImageView 不支持这一点。请改用图像工具包

于 2009-07-02T08:17:56.293 回答
2

也许您想尝试改用ImageKit的 IKImageView 。这使您可以免费进行缩放、旋转等。

于 2009-07-31T22:19:40.350 回答
2

虽然技术上 NSImageView 在技术上不支持这一点,但这是可能的。我相信通过更改您正在使用的 NSView 的边界,并确保图像设置为“按比例下降”或“按比例上升或下降”。

在 OSX 10.9 (Mavericks) 上,这段代码似乎对我有用

   NSSize size = [_imageView bounds].size;

   NSSize newSize = NSMakeSize(size.width * 0.90, size.height * 0.90);

   [_imageView setBoundsSize: newSize];

我也成功地将图像视图“嵌入”到滚动视图中,然后在滚动视图上使用放大。YMMV

于 2014-02-07T01:51:12.733 回答
0

您可以将图像视图嵌入到NSScrollView. 像这样准备滚动视图:

private var scrollView: NSScrollView = {
    let view = NSScrollView()
    view.allowsMagnification = true
    view.minMagnification = 1
    view.maxMagnification = 5
    return view
}()

并将其 documentView 设置为您的图像视图:

scrollView.documentView = myImageView
于 2021-04-16T01:30:57.497 回答
0

除非我误解了“缩放图像”的意思——这似乎很容易。获取视图的框架并随意缩放它(尽管添加限制显然是非常可取的),同时将图像缩放类型设置为NSImageScaleProportionallyUpOrDown

NSRect newFrame = NSMakeRect(newOriginX, newOriginY, newSizeWidth, newSizeHeight);
[myNSImageView setFrame:newFrame];
于 2021-10-06T13:16:57.413 回答