问题标签 [nsimageview]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
4154 浏览

cocoa - 实现从 NSImageView 拖动并将图像保存到文件

我研究过苹果的例子:CocoaDragAndDrop。我了解如何将图像拖动到 NSImageView 并在视图之间拖动图像。但是,当图像被拖放到 Finder 上时,我仍然不知道如何拖动图像并将其保存到文件中。

谁能给我一个例子?

0 投票
0 回答
323 浏览

cocoa - 图层支持的 NSImageView 在进入全屏模式后损坏了它的图像

我有一个 NSImageView,在 IB 中打开了支持它的层。ImageView 的图像生成为快速查看预览。如果视图调整到更大的尺寸,我会生成新的预览。

一切正常,直到我的应用程序进入全屏模式。之后,我的代码获得了新的快速预览并将其设置为 imageView。在 imageView 调整图像大小时损坏:它在上方和下方创建相同的图像。“下方”图像在调整大小时效果很好 - 这就是我想要的,但“上方”图像不会调整大小 - 只是在调整大小时上升或下降并且具有非常奇怪的布局行为......

以下是一些屏幕截图,可以更好地理解图像损坏: 关于降低高度

关于扩大高度

从全屏退出后 - 问题消失)如果我在此视图上关闭图层支持 - 问题也会消失)

似乎这是可可虫,但也许有人遇到了这样的问题。提前致谢!

0 投票
1 回答
290 浏览

macos - NSImageView 更改事件处理程序

我想在我的 NSImageView 中捕捉图像更改的事件,我该怎么做?

0 投票
0 回答
363 浏览

cocoa - 使用 NSImageView 和自定义 NSView 创建缩略图

我需要在我的可可应用程序(OS X)中执行以下操作:

  • 允许用户将图像放在NSImageView.
  • 放下图像后,在图像上投影一个固定大小的矩形,指示将用作缩略图的图像区域。
  • 允许用户拖动矩形以精确定位所需的缩略图。
  • 定位后,用户单击将图像和缩略图保存到文件的按钮。

这是我想要一些反馈的第二个项目符号。我的想法是执行以下操作:

  • 在 IB中,NSImageView在我的视图上放置一个将接受图像的视图。
  • 拖放完成后,创建另一个NSView(与 完全相同的大小NSImageView)并将其投影到NSImageView并显示缩略图的矩形。我可能不得不子类NSView化,所以它是透明的,并支持矩形的绘制和重新定位。
  • 允许用户拖动矩形。用户接受缩略图位置后,通过将矩形投影到NSImageView.

我知道要使用重叠视图,我需要setWantsLayer: YES为父视图打开图层 ( )。但是,我发现了一些关于此的混合报告,指出NSView无法完成重叠实例,只能使用CALayer. 此外,如果有更简单的方法可以从 中捕获缩略图NSImageView,则非常感谢输入。

0 投票
1 回答
241 浏览

cocoa - 类似 iPhoto 的图像裁剪?

我已经为此苦苦挣扎了几天,无法破解。如何实现您在 iPhoto 中看到的那种整洁的照片裁剪?

我尝试使用带有半透明 CALayer 的 NSImageView 允许我绘制裁剪工具,但这不起作用,因为图层使图像不可见(即使其透明度设置为 0.5)。

我不是要详细的代码,只是要全局方法。

0 投票
2 回答
1081 浏览

cocoa - 模糊的 NSImageView

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

图像模糊

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

谢谢

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

0 投票
1 回答
357 浏览

cocoa - Cocoa/ObjC:启用 GC 时加载大量图像时内存使用率高?

我编写了一个简单的图片查看器,它只是在~/Pictures.

对于每个新的过渡,我都在创建和加载NSImage,然后创建一个新的NSImageView并将其设置为新的子视图,并删除旧的子视图。

这基本上就是全部了。每张新照片都会让记忆不断增加,我想知道为什么。我本来预计它会保持在非常低的水平,并且始终保持不变。

我尝试调试它,探查器工具没有发现任何泄漏的内存,所以我猜它仍然被引用或更复杂。不过,大部分内存都是从函数中获取的ImageIO_malloc

完整的(相关)代码可以在这里看到(已经大大简化了——大部分功能被删除,但泄漏仍然存在)。

ARC 被禁用。

有趣的一点:当我禁用 ObjC GC 时,它符合预期。它保持(相对)低。

0 投票
1 回答
894 浏览

macos - 更改边界原点 + 裁剪图像

我是 Cocoa 的新手,我对 NSImage 有一些疑问。

问题1:

更改图像的边界原点似乎没有任何效果。我希望图像是从新设置的原点绘制的,但情况似乎并非如此。我错过了什么吗?

代码:

注意:imageView 是一个 IBOutlet

问题2:

我试图裁剪图像,但它似乎没有裁剪图像,我可以看到完整的图像。我错过了什么?

代码:

谢谢

0 投票
2 回答
1106 浏览

objective-c - Objective-C:将浮点数组显示为图像

在 Cocoa 应用程序中,我想在 NSImageView 中显示一个二维浮点数组。为了使代码尽可能简单,首先将数据从 float 转换为 NSData:

现在尝试显示数据(显示为空白):

这是正确的方法吗?首先需要一个 CGContext 吗?我希望通过 NSData 来实现这一点。

我已经注意到早期的堆栈帖子:32 位数据关闭但反向几乎可以工作,但没有 NSData这里的彩色图像数据,但在这些工作上获得变化并没有太多运气。感谢您的任何建议。

0 投票
1 回答
101 浏览

objective-c - 在窗口上制作一个小蓝色方块的问题

这是我第一次涉足 Objective-c 图像的世界,我立刻遇到了困难。我拥有的是 TimeAdder.xib 中的一个自定义 NSWindow,它由一个名为 TimeAdder 的 NSWindowController 控制。一切都运行良好,现在我尝试添加我的蓝色小矩形。

我在窗口上所需的位置设置了一个大小为 16 x 16 的 NSImageView。然后我将以下代码添加到 windowDidLoad 方法中。

pickImage1 是 NSImageView 的名称,是 TimeAdder 中的一个 ivar。image1 是 TimeAdder 中的一个 ivar,是一个 NSImage。size、firstSet1Color、imageBounds 都是局部变量,在方法完成后消失。不确定这是否重要。

代码执行并且不会导致任何类型的异常,但不会执行任何操作。有人对可能发生的事情有任何想法吗?