问题标签 [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.
cocoa - 实现从 NSImageView 拖动并将图像保存到文件
我研究过苹果的例子:CocoaDragAndDrop。我了解如何将图像拖动到 NSImageView 并在视图之间拖动图像。但是,当图像被拖放到 Finder 上时,我仍然不知道如何拖动图像并将其保存到文件中。
谁能给我一个例子?
cocoa - 图层支持的 NSImageView 在进入全屏模式后损坏了它的图像
我有一个 NSImageView,在 IB 中打开了支持它的层。ImageView 的图像生成为快速查看预览。如果视图调整到更大的尺寸,我会生成新的预览。
一切正常,直到我的应用程序进入全屏模式。之后,我的代码获得了新的快速预览并将其设置为 imageView。在 imageView 调整图像大小时损坏:它在上方和下方创建相同的图像。“下方”图像在调整大小时效果很好 - 这就是我想要的,但“上方”图像不会调整大小 - 只是在调整大小时上升或下降并且具有非常奇怪的布局行为......
以下是一些屏幕截图,可以更好地理解图像损坏:
从全屏退出后 - 问题消失)如果我在此视图上关闭图层支持 - 问题也会消失)
似乎这是可可虫,但也许有人遇到了这样的问题。提前致谢!
macos - NSImageView 更改事件处理程序
我想在我的 NSImageView 中捕捉图像更改的事件,我该怎么做?
cocoa - 使用 NSImageView 和自定义 NSView 创建缩略图
我需要在我的可可应用程序(OS X)中执行以下操作:
- 允许用户将图像放在
NSImageView
. - 放下图像后,在图像上投影一个固定大小的矩形,指示将用作缩略图的图像区域。
- 允许用户拖动矩形以精确定位所需的缩略图。
- 定位后,用户单击将图像和缩略图保存到文件的按钮。
这是我想要一些反馈的第二个项目符号。我的想法是执行以下操作:
- 在 IB中,
NSImageView
在我的视图上放置一个将接受图像的视图。 - 拖放完成后,创建另一个
NSView
(与 完全相同的大小NSImageView
)并将其投影到NSImageView
并显示缩略图的矩形。我可能不得不子类NSView
化,所以它是透明的,并支持矩形的绘制和重新定位。 - 允许用户拖动矩形。用户接受缩略图位置后,通过将矩形投影到
NSImageView
.
我知道要使用重叠视图,我需要setWantsLayer: YES
为父视图打开图层 ( )。但是,我发现了一些关于此的混合报告,指出NSView
无法完成重叠实例,只能使用CALayer
. 此外,如果有更简单的方法可以从 中捕获缩略图NSImageView
,则非常感谢输入。
cocoa - 类似 iPhoto 的图像裁剪?
我已经为此苦苦挣扎了几天,无法破解。如何实现您在 iPhoto 中看到的那种整洁的照片裁剪?
我尝试使用带有半透明 CALayer 的 NSImageView 允许我绘制裁剪工具,但这不起作用,因为图层使图像不可见(即使其透明度设置为 0.5)。
我不是要详细的代码,只是要全局方法。
cocoa - 模糊的 NSImageView
我在利用核心动画的视图中有一个 NSImageView 。在使用 Core Animation 之前,图像看起来不错,但现在它模糊且质量低下。如果我让 NSImageView 有边框边框,问题就会消失,但我需要它没有边框。这件事发生在其他人身上吗?
背景中的图像没有边框,前面的相同图像有边框。
谢谢
编辑:我忘了提到图像是一个图标文件(ICNS),所以它有各种大小。有边框的视图加载正确的大小,透明的加载最小的并拉伸它。
cocoa - Cocoa/ObjC:启用 GC 时加载大量图像时内存使用率高?
我编写了一个简单的图片查看器,它只是在~/Pictures
.
对于每个新的过渡,我都在创建和加载NSImage
,然后创建一个新的NSImageView
并将其设置为新的子视图,并删除旧的子视图。
这基本上就是全部了。每张新照片都会让记忆不断增加,我想知道为什么。我本来预计它会保持在非常低的水平,并且始终保持不变。
我尝试调试它,探查器工具没有发现任何泄漏的内存,所以我猜它仍然被引用或更复杂。不过,大部分内存都是从函数中获取的ImageIO_malloc
。
完整的(相关)代码可以在这里看到(已经大大简化了——大部分功能被删除,但泄漏仍然存在)。
ARC 被禁用。
有趣的一点:当我禁用 ObjC GC 时,它符合预期。它保持(相对)低。
macos - 更改边界原点 + 裁剪图像
我是 Cocoa 的新手,我对 NSImage 有一些疑问。
问题1:
更改图像的边界原点似乎没有任何效果。我希望图像是从新设置的原点绘制的,但情况似乎并非如此。我错过了什么吗?
代码:
注意:imageView 是一个 IBOutlet
问题2:
我试图裁剪图像,但它似乎没有裁剪图像,我可以看到完整的图像。我错过了什么?
代码:
谢谢
objective-c - Objective-C:将浮点数组显示为图像
在 Cocoa 应用程序中,我想在 NSImageView 中显示一个二维浮点数组。为了使代码尽可能简单,首先将数据从 float 转换为 NSData:
现在尝试显示数据(显示为空白):
这是正确的方法吗?首先需要一个 CGContext 吗?我希望通过 NSData 来实现这一点。
我已经注意到早期的堆栈帖子:32 位数据,关闭但反向,几乎可以工作,但没有 NSData,这里的彩色图像数据,但在这些工作上获得变化并没有太多运气。感谢您的任何建议。
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 都是局部变量,在方法完成后消失。不确定这是否重要。
代码执行并且不会导致任何类型的异常,但不会执行任何操作。有人对可能发生的事情有任何想法吗?