gpt4 book ai didi

cocoa - 当启用图层支持时,NSImageView 中的缩放图像看起来很糟糕

转载 作者:行者123 更新时间:2023-12-03 17:13:36 24 4
gpt4 key购买 nike

我想要一个带有渐变背景和图像的 View 。因此,我打开了图层的图层支持,添加了 NSImageView 并将图层设置为 CAGradientLayer。然而,这使得缩小后的图像非常难看。查看比较:

图层开启:Layer ON ,图层关闭:Layer OFF

有人也观察到这一点吗?有没有办法在不关闭图层支持的情况下解决这个问题?

最佳答案

我在遇到完全相同的问题后偶然发现了这个问题。图层支持的 NSImageView 的渲染看起来缩放得很可怕,但非图层支持的渲染看起来很棒。

我尝试了很多不同的方法,但最终实际上是我本地 CocoaHeads 小组的成员提出的建议,最终找到了解决方案。

这是适合我的代码。

    CGImageRef imageRef;
NSRect rect;

rect = NSZeroRect;
rect.size = [_imageView bounds].size;

imageRef = [image CGImageForProposedRect:&rect
context:[NSGraphicsContext currentContext]
hints:@{ NSImageHintInterpolation: @(NSImageInterpolationHigh)}];

image = [[[NSImage alloc] initWithCGImage:imageRef size:rect.size] autorelease];

[_imageView setImage:image];

起初,我只是认为插值模式是问题所在。但是,改变这个值似乎并没有什么不同。从 NSImage->CGImage->NSImage 的作用是什么。我不想提供一个我不完全理解的解决方案,但至少它是一些东西。

关于cocoa - 当启用图层支持时,NSImageView 中的缩放图像看起来很糟糕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13588865/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com