인사말,GTK # 및 PixbufAnimation 반복
나는 PixbufAnimation의 Gdk.PixbufAnimationIter를 사용하는 데 문제가 있어요. 코드는 이런 식입니다 :
Gdk.PixbufAnimation animation = new Gdk.PixbufAnimation(System.IO.Path.Combine([filepath], [filename]));
Gdk.PixbufAnimationIter iter = animation.GetIter([Current Time as IntPtr]);
가 여기에 내가 PixbufAnimation.Iter에 대해 읽어 내용은 다음과 같습니다
start_time
시작 시간은 파이썬time.time()
함수의 출력으로 float로서 을 지정합니다.start_time
표시 애니메이션 시작 부분 재생.
GTK 번호는 time.time()
기능이 없습니다, 나는 다음과 같은 시도 :
long StartTime = DateTime.Now.Millisecond;
IntPtr SysTime = new IntPtr (&StartTime);
Gdk.PixbufAnimationIter iter = animation.GetIter(SysTime);
하지만 그건 지속적으로 언제든지 검색하지 않는 것 같습니다. 이 숫자는 매우 무작위로 보이며 아마도 메모리의 잘못된 주소에서 빠져 나오고있을 것입니다 (추측만으로는 저를 인용하지 마십시오).
또한 PixbufAnimation의 또 다른 문서에서이를 읽고 : 바로 가기로
, START_TIME이
NULL
,g_get_current_time()
의 결과가 자동으로 사용됩니다 경우.
그러나 컴파일러는 IntPtr에 NULL
값을 허용하지 않습니다.
"현재 시간"은 애니메이션 표시를 더 빠르게 또는 느리게 만드는 것과 같이 애니메이션을 혼란스럽게하려는 경우에만 사용된다는 점도 읽었습니다.
아무도 저를 도와 줄 수 있습니까?
감사합니다. 재미있는 점은 원래 IntPtr.Zero를 사용하여 코드를 컴파일하는 것입니다. 그러나 애니메이션 때문에 제대로 표시되지 않는 것 같습니다. 그러나 그렇지 않습니다. 디버깅을 통해 애니메이션이 올바르게 반복되고 올바른 pixbufs 및 지연 시간을 잡는 것을 확인할 수 있습니다.하지만 Pixbuf는 초기화 후 창에 다시 그려지지 않습니다. Gtk.Image 또는 Gdk.Image를 사용하지 않으면 애니메이션 처리 옵션이 거의 없으며 알파 색상을 추가해야하는 애니메이션이 훨씬 적습니다. – MrFreeman