Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Wie kann ich diese nette Animation nachahmen? (https://www.delphipraxis.net/72938-wie-kann-ich-diese-nette-animation-nachahmen.html)

sunnyandy 9. Jul 2006 16:01


Wie kann ich diese nette Animation nachahmen?
 
Hallo,

ihr kennt doch sicherlich die tolle Animation bei der älteren Variante der Windows XP Anmeldung.
Unter dem Logo bewegt sich die ganze Zeit über ein farbiger Balken von links nach rechts.

Sowas muss ich unbedingt in meinem Programm haben :thumb: , also würd ich gern wissen, welche Möglichkeiten am besten sind, sowas zu erstellen.


Danke im Voraus! :wink:

http://www.heisig-it.de/images2/xppro42.gif

Manne 9. Jul 2006 17:11

Re: Wie kann ich diese nette Animation nachahmen?
 
hi,
such mal in der DP nach TStyleHeader.

Alexander 9. Jul 2006 17:22

Re: Wie kann ich diese nette Animation nachahmen?
 
Du könntest auch einfach ein animiertes Gif-Bild einbinden. Für die Funktionsweise kannst du hier acuh mal schauen.

SirThornberry 9. Jul 2006 17:39

Re: Wie kann ich diese nette Animation nachahmen?
 
wenn es nicht unbedingt eine fertige Komponente sein muss sondern du etwas selbst programmieren willst dann mach einfach einen Farbverlauf und versetze diesen nach einer bestimmten Zeit um einige Pixel.

sunnyandy 9. Jul 2006 18:03

Re: Wie kann ich diese nette Animation nachahmen?
 
Also habe den TStyleHeader gefunden. Der macht genau das, was mir vorschwebt.

Brauche aber erstens nur den bewegten Balken ohne den Rest, zweitens möcht ich keine "fremden" Komponenten drin haben. :|

Eine Gif-Animation wäre bestimmt auch keine schlechte Idee, aber der StyleHeader wurde ja auch ohne Gif gemacht und die Animation sieht sehr sauber aus...

Muetze1 9. Jul 2006 19:01

Re: Wie kann ich diese nette Animation nachahmen?
 
Zitat:

Zitat von SirThornberry
wenn es nicht unbedingt eine fertige Komponente sein muss sondern du etwas selbst programmieren willst dann mach einfach einen Farbverlauf und versetze diesen nach einer bestimmten Zeit um einige Pixel.

Viel zu rechenintensiv. Andere Variante: MSDN-Library durchsuchenAnimatePalette

SirThornberry 9. Jul 2006 19:54

Re: Wie kann ich diese nette Animation nachahmen?
 
Zitat:

Zitat von Muetze1
Zitat:

Zitat von SirThornberry
wenn es nicht unbedingt eine fertige Komponente sein muss sondern du etwas selbst programmieren willst dann mach einfach einen Farbverlauf und versetze diesen nach einer bestimmten Zeit um einige Pixel.

Viel zu rechenintensiv. Andere Variante: MSDN-Library durchsuchenAnimatePalette

Wieso Rechenintensiv? man erstellt den Farbverlauf nur ein einziges mal und kopiert diesen dann versetzt nur noch. Weniger rechenintensiv als ein bild auf eine Canvas zu kopieren geht es doch eigentlich gar nicht mehr.

Martin K 9. Jul 2006 19:59

Re: Wie kann ich diese nette Animation nachahmen?
 
Das Original-Bitmap, was WinXP für die Animation verwendet, bekommst Du so:
Delphi-Quellcode:
var h: hModule; Bitmap: TBitmap;
{...}
  h := LoadLibrary('Shell32.dll');
  try
    Bitmap.LoadFromResourceID(h, 138);
  finally
    FreeLibrary(h);
  end;
Dann nimmst Du einfach einen Timer und kopierst per Bitmap.Canvas.CopyRect jeweils die linke vertikale Pixelreihe ganz nach rechts und den Rest um eine Reihe Pixel nach links.
So müsste es auch gehen...

Muetze1 9. Jul 2006 20:34

Re: Wie kann ich diese nette Animation nachahmen?
 
Zitat:

Zitat von SirThornberry
Zitat:

Zitat von Muetze1
Zitat:

Zitat von SirThornberry
wenn es nicht unbedingt eine fertige Komponente sein muss sondern du etwas selbst programmieren willst dann mach einfach einen Farbverlauf und versetze diesen nach einer bestimmten Zeit um einige Pixel.

Viel zu rechenintensiv. Andere Variante: MSDN-Library durchsuchenAnimatePalette

Wieso Rechenintensiv? man erstellt den Farbverlauf nur ein einziges mal und kopiert diesen dann versetzt nur noch. Weniger rechenintensiv als ein bild auf eine Canvas zu kopieren geht es doch eigentlich gar nicht mehr.

Klar, einmal kopieren und dann die Palette anpassen - dann kannst du dir das mit dem kopieren sparen und dazu noch das ausrechnen der zweiten Teils des Bildes was du auch erneut blitten musst. Durch die Verschiebung des Bildes musst du ja zwangsläufig 2 BitBlt Operationen pro Schritt durchführen.

fkerber 9. Jul 2006 23:19

Re: Wie kann ich diese nette Animation nachahmen?
 
Hi!

Könntest du das Bild bitte noch als Anhang an den Beitrag heften. Modem- und Volumentarif-Nutzer werden es dir sicher danken!


Ciao Frederic


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:48 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz