- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在为 OS X 创建一个简单的照片滤镜应用程序,我正在 NSImageView
上显示一张照片(实际上是两张照片彼此叠加,有两个 NSImageView
,但问题仍然适用于单一 View )。一切正常,但是当我尝试调整包含 NSImageView
的窗口大小时,窗口(也调整 NSImageView
s 的大小)调整大小非常缓慢,大约小于1fps,对用户体验造成负面影响。我希望调整窗口大小尽可能平滑。当我禁用调整 ImageView 大小时,窗口会平滑地调整大小,因此速度变慢的原因是那些 NSImageView
。
我正在从我的 DSLR 加载 20 兆像素的图像。当我将它们缩小到屏幕的合理尺寸(例如 1024x768)时,它们会平滑地缩放,所以问题是 NSImageView
呈现图像的方式。它(我假设是这种行为的结果)每次需要重新绘制 20MP 图像时都会尝试重新渲染它,无论 View 的目标帧是什么。
如何让 NSImageView
更平滑地缩放?我应该用我的图像的缩小版本喂它吗?我不想这样做,因为它是一个照片编辑应用程序,它也针对视网膜显示屏,而且视口(viewport)实际上会很大。我可以做到,但这是我最后的选择。除了缩小,我怎样才能使 NSImageView
调整大小更快?
最佳答案
我相信您正在寻找的部分解决方案在 NSImage 的表示中。您可以使用 addRepresentation 向图像添加许多表示:我相信在绘制时会进行一些智能选择。在您的情况下,我认为您需要向 NSImage 添加 both 表示(缩小的和全分辨率的位图)。我强烈怀疑 drawRect: 应该选择低分辨率版本。我会确保在 NSImageView 中选择了“放大或缩小”,因为默认情况下仅按比例缩小,这可能会强制大多数时间使用全分辨率图像。 Apple 的文档中有一些关于 NSImage 中“设置图像表示选择标准”下的“匹配”的讨论,尽管乍一看这可能还不够。
然后,每当您需要对完整图像执行某些操作时,您将通过表示([NSImage representations] 返回一个 NSImageRep 数组)来请求全分辨率图像。
关于objective-c - 具有高分辨率图像的 NSImageView 在调整窗口大小时会导致极度减速,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19744445/
我有一个 NSTableView,它包含所有 NSImageView 的名称,并且根据 NSImageView 的添加顺序,最后一个将位于前面。 但是如果我希望用户能够将 NSImageViews 放
我有一个 NSImageView 可以很好地作为图像运行。它也是通过绑定(bind)的。使用值路径属性显示每个记录的已保存图像的值转换器(值转换器只是附加文件路径——我只是将图像的文件名存储在数据库中
我想在 NSImageView 中捕捉图像变化的事件,我该怎么做? 最佳答案 您可以尝试使用 KVO监视image键。如果这不起作用,您可能必须继承 NSImageView 并将逻辑插入到 setIm
我创建了 NSImageView 的子类,因为我想自定义一些 mouseClick 事件。但是,我还没开始,就出了问题。我创建了 NSImageView 子类: (文件/新建/文件.../Cocoa(
所以,我的 Cocoa 应用程序中遇到了这个奇怪的问题。一个工具栏项,和一些 NSImageViews 只是渲染他们的图像颠倒,没有明显的原因。当我出于某种原因启动应用程序时,工具栏项目实际上是这样的
我是Mac开发新手,我们有类似的方法吗 imagev = [NSArray arrayWithObjects 我需要一些类似于我们在 iOS 中所做的事情想要在 mac 中做的事情, imageVie
任何人都可以给我推荐一个在 NSImageView 中缩放图像的好示例代码吗?谢谢。 最佳答案 如果你看the documentation ,你会发现 NSImageView 不支持这一点。使用Ima
我有一个 Cocoa 应用程序。在窗口 View 中我放置了一个 NSImageView。使用自动布局,我添加了前导和尾随空格,使得 NSImageView 锚定到 View (以及窗口)。 NSIm
目前我想创建一个圆角NSImageView,我是新手,怎么做? 最佳答案 我不知道这是否有效,所以请尝试一下,我们会祈祷的。在 iPhone 上,您可以使用任何 UIView(iOS 中的 NSVie
所以我习惯了UIImageView ,并能够设置其图像在其中显示的不同方式。例如 AspectFill模式等... 我想使用 NSImageView 完成同样的事情在 Mac 应用程序上。是否NSIm
我有一个使用以下代码的 iOS 应用程序。我现在正在为 Mac OS X 创建应用程序并希望获得相同的效果,但是我似乎无法使用 clipsToBounds .我应该使用什么? 我有其余的代码在 Mac
我正在玩 AppKit 和 NSDocument,但我不知道为什么这不起作用?: 我刚刚写了这个,图像不是零,但从不加载任何图像,它的大小始终为零。 这是我必须实现的正确方法才能将文件读入我的文档吗?
我的 Mac 应用程序中有一些 NSImageView,用户可以在其中拖放 .png 或 .pdf 等对象,将它们存储到用户共享默认值中,这很好用。 我现在想在用户双击这些 NSImageView 时
我是 OS X 编程的初学者,在设置 NSImageView 透明度时遇到问题。 在 iOS 中这很简单,在 UIImageView 中有一个名为 alpha 的属性,我可以更改它并为其设置动画。 (
我如何能够在 Objective C 中屏蔽 nsimageview?例如,有一个带圆角的 nsimageview。 最佳答案 你不知道。如果你想以 NSImageView 不支持的方式绘制图像,则需
出于某种原因,分配两个 NSImageView 会造成巨大的内存泄漏。 尽管 dealloc 方法在两个 NSImageView 中都会被调用。 我正在使用ARC。 使用NSImageViews 一旦
我正在尝试制作一个简单的双骰子游戏。在过去的一年里,我完成了大量的 C 编程,并且正在尝试转换为 GUI 和 Obj C。我的窗口内有一个按钮和两个图像单元。图像被视为输出(染料、染料2),按钮保持
我有多个不同尺寸和比例的 NSImageView,它们垂直堆叠在水平空间有限的 View 中。 由于图像尺寸可能大于父 View 的尺寸,我想使用 NSImageScaleProportionally
我已经 Hook 了 NSTableView 的选择更改事件。我需要在 ImageView 中显示所选图像 func tableViewSelectionDidChange(_ notificatio
我创建了一个 NSView 的自定义子类来控制 2 个 NSImageView。创建图像的代码如下: - (id)initWithFrame:(NSRect)frameRect AndMap:(NSI
我是一名优秀的程序员,十分优秀!