问题标签 [ikimageview]

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 投票
1 回答
349 浏览

cocoa - IKImageView imageCorrection 属性是否有效?

IKImageView 提供了一个 'imageCorrection' 属性,它接受一个 CIFilter,并且可能在显示图像时使用它。

当我最近尝试使用它时,它对我不起作用。当我将该属性设置为一个新的 CIFilter 实例时,它仍然为零。

有没有人成功地使用它?

0 投票
2 回答
898 浏览

objective-c - 来自 WebView 的图像拖到 IKImageView

我有WebView,我在其中加载 webarchive 的内容。在同一个视图中,我有IKImageView插座。图像从 web 视图拖放到图像视图对我不起作用。

奇怪的是,当我将照片从 iPhoto 拖到同一个图像视图上时,它会起作用。此外,我可以将图像从我的 web 视图拖到NSScrollView上(它会创建一个指向图像的链接),我可以将同一张照片拖到新的邮件消息上(按预期创建图像)。

IKImageView 在 IB 中启用了“支持拖放”。

我在这里想念什么?

0 投票
2 回答
1779 浏览

objective-c - 由 NSSlider 控制的 IKImageView 缩放

通过 NSSlider 在 IKImageView 中设置图像缩放系数的最佳实践是什么?

我能够绑定一个滑块来放大缩小IKImageView 的操作。显然,我宁愿看到一个控制这两个动作的滑块。最好,如果在每次更改滑块后刷新图像(即使尚未释放鼠标按钮,也会持续刷新)。

0 投票
1 回答
2804 浏览

objective-c - IKImageView 和滚动条

我正在尝试使用苹果提供的 IKImageViewDemo(http://developer.apple.com/mac/library/samplecode/IKImageViewDemo/index.html)并且我正在尝试向其中添加滚动条。我尝试了两件事:

1) 将 IKImageView 嵌入到 ScrollView 中。这有各种奇怪的效果,比如图像不再位于它应该在的位置,滚动条似乎在一个固定的位置,无论窗口有多大(所以我可以缩小窗口并丢失滚动条,即使滚动视图设置为随窗口调整大小)

2)我在 openImageURL 方法的代码中添加了 [_imageView setHasHorizo​​ntalScrollers: YES] (和垂直)。这似乎什么也没做。

我错过了一些明显的东西吗?

另外:为什么

给我吗:

?

另外另外:

等价于为什么:

打印 b 1 滚动条 0 ?

0 投票
2 回答
1590 浏览

objective-c - 寻求的 Objective C 示例

我正在尝试将滚动条添加到 IKImageView。基本上目前,我需要一些将图像加载到视图中的程序示例,如果窗口太小,则设置滚动条以执行正确的操作...

为什么我在苹果开发网站上找不到这些示例?

添加信息:

在查看 ImagekitDemo 之后,我发现显然我确实需要将 IKIMageView 嵌入到 ScrollView 中。(不知何故,这使得 IKImageView 的 has___Scroller 属性为 YES ......)

但是,现在(在 ImageKitDemo 中也是如此)只要只需要一个(或不需要)滚动条就可以了。但是,只要两者都需要,并且窗口的任一尺寸小于图像,两个滚动条都会消失。

鼠标滚动仍然有效。

0 投票
1 回答
546 浏览

objective-c - IKImageView 和滚动条

我有一个 NSScrollView,里面有一个 IKImageView 来显示图像。这似乎有效。

但是,如果我使窗口小于图像,滚动条会按原样显示,但图像的底部被锁定到窗口的底部,而不是图像的顶部被锁定到窗口的顶部。换句话说,当我从右下角调整窗口大小时,我希望图像不会在屏幕上移动。

我明白为什么会这样,因为在所有这些类中,原点都在左下角,而不是左上角。但是,它的行为仍然错误。如果您查看任何其他产品(包括预览,我假设它是用其中一些库编写的),图像/内容/无论如何,都被锁定在顶部而不是底部。

我该怎么做呢?

我在 NSScrollView 和 IKImageView 中寻找方法。我已经考虑过捕获滚动事件并根据需要手动向下或向上移动图像,但我还没有看到这样做的方法(将选择器设置为我在控制器中编写的方法?)无论如何,这看起来很乱...

是否有捷径可寻?

谢谢。

0 投票
2 回答
1391 浏览

objective-c - 另一个 IKImageView 问题:复制区域

我正在尝试使用 IKImageView 的选择和复制功能。如果您只想拥有一个带有图像的应用程序,选择一个部分并将其复制到剪贴板,这很容易。您将复制菜单选择设置为第一响应者的 copy:(id) 方法,神奇地一切正常。

但是,如果你想要更复杂的东西,比如你想复制作为其他操作的一部分,我似乎找不到执行此操作的方法。

IKImageView 似乎没有复制方法,它似乎没有一个方法,甚至可以告诉你选择的矩形!

我已经阅读了 Hillegass 的书,所以我了解剪贴板的工作原理,而不是如何将图像的一部分移出视图......

现在,我开始认为我将我的项目基于 IKImageView 时犯了一个错误,但它是 Preview 的基础(或者我已经读过),所以我认为它必须是稳定的......无论如何,现在为时已晚,我太深了,无法重新开始......

那么,除了不使用 IKImageView 之外,关于如何手动将选择区域复制到剪贴板的任何建议?

编辑实际上,我找到了 copy(id) 方法,但是当我调用它时,我得到了

当我通过第一响应者进行正常复制时,这显然不会发生......我理解错误消息,但我不确定它从哪里获取这些参数......

有什么方法可以追踪并查看这是如何发生的?由于显而易见的原因,调试器无济于事,而且我在 Mozilla 中这样做,所以调试器无论如何都不是一个选项......

编辑 2我发现我发现的 copy:(id) 方法可能是复制 VIEW 而不是将图像的一部分复制到剪贴板,这正是我所需要的。

我认为它是剪贴板副本的原因是,在另一个项目中,我直接从编辑菜单从 IKImageView 复制到剪贴板,它只是将副本:(id)发送到 firstResponder,但我不是实际上确定第一响应者用它做了什么......

编辑 3似乎 CGBitmapContextCreate 错误来自[imageView image]错误,奇怪的是,它是一个记录的方法。

有可能发生这种情况是因为我使用 setImage:(id) 方法将图像放入其中,并将其传递给 NSImage*... 是否有其他更聪明的方法可以将 NSImage 放入 IKImageView?

0 投票
1 回答
1070 浏览

objective-c - IKImageView 调整大小是块状的

我将图像放入 IKImageView,并立即调整大小以适合。每当我这样做时,图像最初以 1-1 大小(巨大)出现,然后调整大小,如果动画流畅,这会很好。但是,动画看起来……飘飘然?图像的大块(如 2 英寸见方)彼此独立出现和缩小。效果有点烦人,几乎到了可能让癫痫发作的程度......(我有点夸大了)。

这是 IKImageView 中的错误吗?这是动画中的错误吗?如果我关闭动画它会消失吗(我该怎么做? setAnimates: NO 似乎没有做任何事情,重载动画也不会在我的子类中返回 NO ......

编辑:添加代码:

这是在应用程序控制器中,所以 self 是应用程序(或插件,取决于我正在查看的版本)

0 投票
1 回答
295 浏览

objective-c - 从 IKImageView 中删除图像

我有一个有效未初始化的 IKImageView。这在错误状态下有效地发生(用户未注册),所以我还没有机会在其中放置图像。

在 10.6 中,这很好,带有一个黑色矩形。然而,在 10.5 中,它出现了垃圾。一些矩形的噪声,一些矩形的桌面副本等。我尝试将 ZoomFactor 设置为 0.0,我尝试将图像设置为 nil,但问题似乎不止于此。

有任何想法吗?(我的下一个任务是使用应用程序发送微小的空白图像,并尝试让它加载......但这有点愚蠢)

0 投票
1 回答
887 浏览

objective-c - IKImageView 断断续续?

我有一个 IKImageView,我将 CGImages(我用 NSImages 制作)放到它上面。然而,一个正常的 200DPI 8.5/11 页面需要大约 3 秒才能出现,一次出现在一边大约 2 英寸(屏幕)的矩形中。这真的很烦人。有没有解决的办法?

或者,有没有办法双重缓冲视图?有 2 个 IKImageViews 并绘制成一个,然后显示它?

ETA:将我的滚动视图(里面有 ikimageviews)加倍,然后绘制它们,然后取消隐藏它们,似乎没有帮助......或者,也许它有一点帮助,但没有多大帮助

我用仪器做了一点探索,发现 memcopy 中似乎做了很多工作:

我不确定那告诉我什么...

编辑:为了记录,问题不是数据大小。我有一个旧版本的程序,它使用不推荐使用的 quickdraw 方法调用。当我将图像放大到 300% 时,一个屏幕像素 = 一个图像像素,所以它需要使用整个图像,它仍然一页接一页地压缩。

我被最初写这篇文章的人嘲笑了,因为他的版本在他古老的 10.3 G5 上比在我最新的 Intel 盒子上运行得更快。至少快 10 倍。