문제

다음 상황 :

나는 나의 사례가있다 NSObject 하위 삭스 된 객체. 그것의 속성 중 하나는 a NSImage. 객체를 주입 한 후 나는 그것을 변환합니다 NSKeyedArchiver 데이터를 위해 네트워크를 통해 보내고 NSKeyedUnarchiver 그리고 이미지를 a에 표시합니다 NSImageView (setanimates : 예). 여기까지 문제가 없습니다. 이미지는 다른 기계에 표시 될 수 있습니다. 이제 문제 :
애니메이션 GIF를 보내면 애니메이션이 아닙니다. 왜 그런지 모르겠다 ... 왜 애니메이션이 사라지는 아이디어가 있습니까? 고맙습니다!

업데이트

아카이브하기 전에 애니메이션 이미지를 열면 NSImageView 그것을 애니메이션합니다. 문제는 아마도 아카이브 일 것입니다 ...

업데이트 2

네트워크를 통해 데이터를 보내지 않고 전체 워크 플로우를 테스트하고 다시 보관하고 다시 해제했습니다. 내가 의심했듯이 그것은 nskeyed (un) 아카이버에게 문제가된다.
애니메이션이 사라집니다. 그러나 이것을 막기 위해 무엇을해야합니까?

도움이 되었습니까?

해결책

이미지 인스턴스 대신 원본 이미지 데이터를 보관합니다.

다른 팁

기본적으로, NSImage 원래 소스 이미지 데이터를 유지하지 않습니다. 아마도 일어나는 일은 그 것입니다 NSImage 하나의 프레임 만 고정 비트 맵을 보관하고 원래 컨텐츠를 폐기합니다.

전화하면 [yourNSImageObject setDataRetained:YES] 그럼 NSImage 원래 데이터 (이 경우 애니메이션 GIF)에 매달려 야합니다. 이미지가 처음 만들어 졌을 때이 작업을 시도한 다음 보관/비치되지 않은 경우 어떻게되는지 확인하십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top