Aktuelle Zeit: 09.07.2020 10:17

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 1 Beitrag ] 
Autor Nachricht
 Betreff des Beitrags: AnimGIF auf Window?
BeitragVerfasst: 31.10.2016 16:43 
Offline
Benutzeravatar

Registriert: 19.10.2006 12:51
Hallo,

wie stelle ich ein AnimGIF am besten und ressourcensparend auf einem Window dar?

Soll ein Bildschirmschoner werden (GIF auf einem schwarzen Fenster). Er ähnelt vom Verhalten dem Standardbildschirmschoner von XP.

- Startdrawing + Timer (derzeitige Lösung) sind zu CPU-lastig, weil er permanent am rendern ist.
- Das GIF muss gefaded werden können (also einblenden -> 10 sek laufen lassen -> ausblenden -> Anzeige versetzen -> einblenden... )
- Das GIF hat keine wirkliche transparenz (Hintergrund ist eh einheitlich schwarz)
- Das GIF muss eine ruckelfreie Endlosschleife haben.
- Das GIF kann auch ein anderes Format haben oder aus einzelnen statischen Frames bestehen (aber verlustfrei! Nicht JPEG o.ä.)
- Das GIF wird in die Binary eingebunden und der Screensaver muss ohne Temp-Dateien auskommen (Darum ist da Format auch zweitrangig)
- Das GIF ist eine Pixel-Art mit max. 16 verschiedenen Farben. Wäre schön, wenn eine Nearest-Neighbour-Skalierung enthalten ist (1x, 2x, 4x, 8x)
- Der Screensaver ist für Win2000 oder höher (Die alte 9x-Passwort-Api-Geschichte ist nicht implementiert)


Ich konnte im Internet nur eine Lösung mit IE-WebView finden. Gefällt mir irgendwie nicht :cry: Der WebView unter Windows ist uralt und wird CSS-Transitions (für den Fader) wohl nicht verstehen.

Ich brauche quasi die WinAPI-Gegenstücke für die nachfolgenden ObjC-Codehäppchen:

Code:
...
//View-Setup
UIImageView* animatedImageView = [[UIImageView alloc] initWithFrame:self.view.bounds];
animatedImageView.animationImages = [NSArray arrayWithObjects:   
                               [UIImage imageNamed:@"image1.gif"],
                               [UIImage imageNamed:@"image2.gif"],
                               [UIImage imageNamed:@"image3.gif"],
                               [UIImage imageNamed:@"image4.gif"], nil];
animatedImageView.animationDuration = 1.0f;
[animatedImageView startAnimating];
[self.view addSubview: animatedImageView];
...
//fade-in
animatedImageView.alpha = 0;
[UIImageView animateWithDuration:1.0
                 animations:^{
                     animatedImageView.alpha = 1;
                 }
                 completion:^(BOOL finished){
                     //10 sec warten, dann fade-out
                 }];
...
//fade-out
animatedImageView.alpha = 1;
[UIImageView animateWithDuration:1.0
                 animations:^{
                     animatedImageView.alpha = 0;
                 }
                 completion:^(BOOL finished){
                      //ImageView versetzen, dann fade-in
                 }];

_________________
Bild


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 1 Beitrag ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye