NSImage中的动画获取与归档的NSKeyedArchiver之后丢失
-
19-09-2019 - |
题
以下情况:
我有NSObject
sublcassed对象的实例。其中它的属性是NSImage
。 instanciating我NSKeyedArchiver
到数据转换它的对象之后,与NSKeyedUnarchiver
发送它通过网络,把它解压缩并在NSImageView
(setAnimates:是)显示图像。直到这里不存在任何问题。该图像可以在另一台机器上显示。现在的问题:点击
如果我把一个GIF动画,它不会动画。我不知道为什么...任何想法,为什么动画停留了吗?谢谢!
更新
如果我封存之前打开所述动画图像的动画NSImageView
它。问题是也许归档...
UPDATE 2
我测试的整个工作流程,而不通过网络发送数据,只是归档和解档再次它。正如我怀疑它是与NSKeyed(UN)归档的问题。结果 动画丢失。 但是,怎样做才能避免这种情况?
解决方案
我想简单地存档的原始图像数据,而不是图像的实例。
其他提示
默认情况下,NSImage
不保留原始的源图像数据。什么是可能发生的是,NSImage
被归档只有一帧的静态位图,并丢弃原来的内容。
如果你调用[yourNSImageObject setDataRetained:YES]
那么NSImage
应该挂到的原始数据(在这种情况下,GIF动画)。我建议你尝试这样做,第一次创建图像时,再看到时,它的存档/未归档会发生什么。
不隶属于 StackOverflow