Привет,
У меня проблема с использованием Gdk.PixbufAnimationIter для PixbufAnimation.Код выглядит примерно так:
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
- это время начала, указанное в виде числа с плавающей запятой, выводимого из Pythontime.time()
функция.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()
будет использоваться автоматически.
Однако компилятор отказывается разрешить NULL
значение для IntPtr.
Я также прочитал, что «Текущее время» используется только в том случае, если вы пытаетесь возиться с анимацией, например, с ускорением или замедлением отображения анимации.
Кто-нибудь может мне помочь?