以下情况:

我有NSObject sublcassed对象的实例。其中它的属性是NSImage。 instanciating我NSKeyedArchiver到数据转换它的对象之后,与NSKeyedUnarchiver发送它通过网络,把它解压缩并在NSImageView(setAnimates:是)显示图像。直到这里不存在任何问题。该图像可以在另一台机器上显示。现在的问题:点击 如果我把一个GIF动画,它不会动画。我不知道为什么...任何想法,为什么动画停留了吗?谢谢!

更新

如果我封存之前打开所述动画图像的动画NSImageView它。问题是也许归档...

UPDATE 2

我测试的整个工作流程,而不通过网络发送数据,只是归档和解档再次它。正如我怀疑它是与NSKeyed(UN)归档的问题。结果 动画丢失。 但是,怎样做才能避免这种情况?

有帮助吗?

解决方案

我想简单地存档的原始图像数据,而不是图像的实例。

其他提示

默认情况下,NSImage不保留原始的源图像数据。什么是可能发生的是,NSImage被归档只有一帧的静态位图,并丢弃原来的内容。

如果你调用[yourNSImageObject setDataRetained:YES]那么NSImage应该挂到的原始数据(在这种情况下,GIF动画)。我建议你尝试这样做,第一次创建图像时,再看到时,它的存档/未归档会发生什么。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top