Salutations,GTK # et PixbufAnimation itération
Je vais avoir un problème à l'aide d'un Gdk.PixbufAnimationIter PixbufAnimation. Le code ressemble à ceci:
Gdk.PixbufAnimation animation = new Gdk.PixbufAnimation(System.IO.Path.Combine([filepath], [filename]));
Gdk.PixbufAnimationIter iter = animation.GetIter([Current Time as IntPtr]);
Voici ce que je lis sur PixbufAnimation.Iter:
start_time
est le temps de démarrage spécifié comme un flotteur en sortie de la fonction Pythontime.time()
.start_time
marques le début de l'animation lecture.
GTK # n'a pas la fonction time.time()
, et je l'ai essayé ce qui suit:
long StartTime = DateTime.Now.Millisecond;
IntPtr SysTime = new IntPtr (&StartTime);
Gdk.PixbufAnimationIter iter = animation.GetIter(SysTime);
Mais cela ne semble pas récupérer tout temps de manière cohérente. Les nombres générés à partir de cela semblent très aléatoires, et tirent probablement de la mauvaise adresse en mémoire (seulement une supposition, ne me citez pas dessus).
J'ai aussi lu ce d'une autre documentation de PixbufAnimation:
Comme un raccourci, si start_time est
NULL
, le résultat deg_get_current_time()
sera automatiquement utilisé.
Cependant, le compilateur refuse d'autoriser une valeur NULL
pour IntPtr.
J'ai aussi lu que "Current Time" n'est utilisé que si vous essayez de jouer avec l'animation, par exemple en accélérant ou en ralentissant l'affichage de l'animation.
Quelqu'un peut-il m'aider?
Merci, et la chose amusante était que j'utilisais initialement IntPtr.Zero juste pour obtenir la compilation de mon code, mais j'ai senti que mon animation ne s'affichait pas correctement à cause de cela. Cependant, ce n'est pas le cas. Par le biais du débogage, je peux voir que l'animation fonctionne correctement et saisit les pixbufs et les délais corrects, mais le pixbuf ne peut pas être redessiné sur la fenêtre après l'initialisation. Il semble que si vous n'utilisez pas Gtk.Image ou Gdk.Image, vous avez vraiment très peu d'options pour gérer les animations, et encore moins les animations qui nécessitent l'ajout d'une couleur alpha. – MrFreeman