【问题标题】:Blurry NSImageView模糊的 NSImageView
【发布时间】:2011-12-10 16:11:03
【问题描述】:

我在一个使用核心动画的视图中有一个 NSImageView。在使用 Core Animation 之前,图像看起来不错,但现在它模糊且质量低下。如果我让 NSImageView 有边框边框,问题就会消失,但我需要它没有边框。其他人也遇到过这种情况吗?

背景中的图像没有边框,前面的图像有边框。

谢谢

编辑:我忘了提到该图像是一个图标文件 (ICNS),因此它有各种大小。带边框的视图加载正确的大小,透明的加载最小的并拉伸它。

【问题讨论】:

  • 截图中的两个视图是否都使用了Core Animation?
  • 两者都包含在使用 Core Animation 的同一个视图中,层次结构是 Content View (Window) -> My View(使用 Core Animation 的视图)和 NSImageView(s)
  • 您是否给两个图像视图提供相同的图像对象?该图像对象的size 是什么?图片视图的frames 是什么?
  • 图片是一样的,都是CoreData设置的。模糊的帧是 211,281,195,195 (x,y,w,h),清晰的帧是 345,214,29,198。图片尺寸为 512Xx512。
  • 29 点宽?你确定吗?另外,我知道它们是相同的图像,但是两个图像视图是否都获得相同的 NSImage 对象?

标签: cocoa core-animation nsimageview blurry


【解决方案1】:

虽然不是我想要的方式,但我设法为这个问题创建了一个修复程序。问题似乎是NSImageView 绘制图像的方式,所以我创建了一个自定义 NSView 子类,支持我在原始图像视图中使用的相同绑定。我不确定为什么一开始会出现模糊,但是在 NSView 中手动绘制图像似乎可以解决问题。

【讨论】:

  • 你能提供任何具体细节吗?
【解决方案2】:

您的图像可能是以非像素对齐的方式绘制的。你试过把它移动半个像素吗?

Apple 在其“Cocoa Tips and Tricks”示例代码中的 BlurryView 应用程序中对此进行了很好的演示。

Cocoa Tips and Tricks

【讨论】:

  • 感谢您的建议,但即使在尝试后图像仍然模糊。
猜你喜欢
  • 1970-01-01
  • 2021-02-18
  • 1970-01-01
  • 1970-01-01
  • 2023-03-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多