Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi [Projekt] CoverFlow mit Gr32 (https://www.delphipraxis.net/116021-%5Bprojekt%5D-coverflow-mit-gr32.html)

alleinherrscher 30. Jun 2008 20:34

Re: [Projekt] CoverFlow mit Gr32
 
Sieht sehr sehr geil aus,dominikkv!


Ich hab ja vor, dass man da eine kleine Komponente draus macht, das man sowas hat wie

Coverflow.AddCover(TBitmap, Index);
Coverflow.ScrollNext;
Coverflow.ScrollPrev;
Coverflow.Goto(Index);

usw...


Kannst du den Source mitposten, das wäre echt super ;)

Viele Grüße,
Michael

PS: Die Cover, die ihren Winkel nicht ändern, während sie sich bewegen, zeichnest du die auch mit der PaintCover Procedure? Wenn ja, könnte man da die Geschwindigkeit verbessern, falls man diese Cover nur einmal mit PaintCover erstellt und dann zwischenspeichert, damit nicht jedesmal so viele Pixel einzeln berechnet werden, das bremst ungemein...

dominikkv 30. Jun 2008 20:57

Re: [Projekt] CoverFlow mit Gr32
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von alleinherrscher
Sieht sehr sehr geil aus,dominikkv!

thx :mrgreen:
aber das meiste hast ja du gemacht

Zitat:

Zitat von alleinherrscher
Ich hab ja vor, dass man da eine kleine Komponente draus macht, das man sowas hat wie

Coverflow.AddCover(TBitmap, Index);
Coverflow.ScrollNext;
Coverflow.ScrollPrev;
Coverflow.Goto(Index);

usw...

hab ich schon mal angefangen, kannst gerne weitermachen :cheers:

Zitat:

Zitat von alleinherrscher
Kannst du den Source mitposten, das wäre echt super ;)

ok, ist eigentlich nur ne Unit. Benutzen kannst du die Klasse so:
Delphi-Quellcode:
 
var
  CoverFlow: TCoverflow;

// ----

  Coverflow := TCoverflow.Create(MyImage32);
  Coverflow.AddCover('6m.bmp');
  Coverflow.AddCover('3m.bmp');
  // usw
  Coverflow.Init;

// ----

  Coverflow.Next;

// ----

  Coverflow.Previous;
AddCover ist überladen und erwartet entweder ein Bitmap32 oder ein Pfad zum nen .bmp oder .jpg

alleinherrscher 30. Jun 2008 20:59

Re: [Projekt] CoverFlow mit Gr32
 
Super!!! Danke dir!!!

Ich werde es mir am Wochenende mal genau ansehen und evtl etwas weiterschreiben, wäre doch gelacht wenn wir Apple keine Konkurrenz machen könnten ;)

//edit ich konne es nicht lassen und habs mir direkt angesehen :D Richtig professionell und nicht so rumgedoktort wie meins! Großes Lob!

Florian H 30. Jun 2008 22:32

Re: [Projekt] CoverFlow mit Gr32
 
Was jetzt eigentlich nur noch fehlt ist eine schnell-Blätter-Funktion, wie sie Apple auch hat: wenn ich ganz schnell durchblättere, soll er nicht mehr jedes Cover anzeigen sondern direkt nur noch durch den Stappel scollen ...

FBrust 1. Jul 2008 10:55

Re: [Projekt] CoverFlow mit Gr32
 
Hallo,

sieht wirklich sehr gut aus, eine Frage habe ich: Muss man alle Cover vor dem Init laden oder geht das dynamisch, d. h. dass Cover, die nicht angezeigt werden, wieder entladen werden können?


Gruß
Frank

alleinherrscher 1. Jul 2008 11:09

Re: [Projekt] CoverFlow mit Gr32
 
Zitat:

Zitat von FBrust
Hallo,

sieht wirklich sehr gut aus, eine Frage habe ich: Muss man alle Cover vor dem Init laden oder geht das dynamisch, d. h. dass Cover, die nicht angezeigt werden, wieder entladen werden können?


Gruß
Frank


Momentan müssen alle Cover zunächst geladen werden. Dies stellt ein Problem dar, wenn man beispielsweise Cover für 4000 Songs läd. Hier muss noch ein bisschen optimiert werden. Die Frage ist, wie man das am besten anstellt, da die Cover ja später einmal aus den mp3 Dateien gelanden werden sollen. D.h. man müsste evtl die Mp3 files in AddCover übergeben, oder hat jemand ne bessere Idee?


Zitat:

Zitat von Florian H
Was jetzt eigentlich nur noch fehlt ist eine schnell-Blätter-Funktion, wie sie Apple auch hat: wenn ich ganz schnell durchblättere, soll er nicht mehr jedes Cover anzeigen sondern direkt nur noch durch den Stappel scollen ...

Jo, stimmt. Zunächst müssen wir aber die Geschwindigkeit etwas optimieren. Zur Zeit werden alle sichtbaren Cover pixelweise in jedem animationsschritt neu erzeugt. Cover, die ihren Winkel zum betrachter nicht ändern, sollten aber am besten nur einmal berechnet und dann zwischengespeichert werden, um Rechenzeit zu sparen. Anschließend würde auch die schnell-Blätter funktion besser aussehen (aufgrund von höherer Geschwindigkeit)!

(Allein die Zeit fehlt momentan)

Grüße, Michael

//edit: Schon bemerkt? Wir bekommen Konkurrenz hier im Forum ;) : http://www.delphipraxis.net/internal...t.php?t=137742

FBrust 1. Jul 2008 11:19

Re: [Projekt] CoverFlow mit Gr32
 
Hi,

also bisher finde ich die Lösung, dass die Cover aus den entsprechenden Bild-Dateien geladen werden, nicht schlecht.

Nur mal ins Blaue hineingedacht: Könnte man eine Eigenschaft "MaxCovers" hinterlegen, die angibt, wieviele Cover im Speicher gehalten werden sollen?

Weiter: Könnte man die Coverpfade in eine Art Liste laden, die bei Next und Previous verwaltet wird, d. h. bei Next wird ein Cover ans Ende der Liste nachgeladen, während das erste Cover in der Liste aus dem speicher entfernt wird und das zweite Cover an dessen Stelle rückt, bei Previous wäre es dann genau umgekehrt.


Hoffe, ich hab nicht allzu wirr dahergeredet :)


Gruß
Frank

axellang 1. Jul 2008 11:22

Re: [Projekt] CoverFlow mit Gr32
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,

nachdem ich mir die beide CoverFlow's angesehen habe, ergo die hier und auch die TPatternMotion, möchte ich euch eine andere Variante vorstellen und zwar "FlyingCow". Geschrieben wurde es von Matías Andrés Moreno und wurde von mir für D2007 angepasst. Diese CoverFlow Implementierung, erlaubt das anzeigen von Bildern, Ordnern, abspielen von Videos, PDF's und vieles mehr. Dass viele mehr, muss selbst implementiert werden. Lädt sehr schnell und ist extrem gut erweiterbar.

Einen weitere CoverFlow App. auf der Basis von FlyingCow gibt es hier: coverflow-example-using-delphi.


Die PDF Binaries habe ich aus dem Paket (RAR) entfernt, können aber von der Projektseite, siehe readme.txt, heruntergeladen werden.

Im Anhang ist der Source + Binaries, ein MusicPlayer und ein universal Viewer mit CoverFlow. Also viel Spaß beim testen.

Grüsse

Axel Lang

alleinherrscher 1. Jul 2008 11:24

Re: [Projekt] CoverFlow mit Gr32
 
Zitat:

Zitat von FBrust
Hi,

also bisher finde ich die Lösung, dass die Cover aus den entsprechenden Bild-Dateien geladen werden, nicht schlecht.

Nur mal ins Blaue hineingedacht: Könnte man eine Eigenschaft "MaxCovers" hinterlegen, die angibt, wieviele Cover im Speicher gehalten werden sollen?

Weiter: Könnte man die Coverpfade in eine Art Liste laden, die bei Next und Previous verwaltet wird, d. h. bei Next wird ein Cover ans Ende der Liste nachgeladen, während das erste Cover in der Liste aus dem speicher entfernt wird und das zweite Cover an dessen Stelle rückt, bei Previous wäre es dann genau umgekehrt.


Hoffe, ich hab nicht allzu wirr dahergeredet :)


Gruß
Frank

Jup, das is schon genau richtig, nur was ich oben meinte ist: wir müssen bedenken, dass die Cover ja nicht als Bilddatei auf der Festplatte vorliegen, sondern in den mp3's gespeichert sind. Aber gut, dann macht man halt ne variante dass die mp3 anstatt die bmp oder jpg Dateien mit Pfad übergeben werden. Sollte nicht das Problem sein. Habe irgendwo noch nen Codeschnipsel rumliegen, wie man die Cover aus einem mp3 laden kann...

Larsi 8. Jul 2008 11:49

Re: [Projekt] CoverFlow mit Gr32
 
Also ganz großes Lob erstmal. Darf ich das auch in meinem eigenen Programm (natrülich mit Verweis auf euch/dich) verwenden?


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:38 Uhr.
Seite 2 von 3     12 3      

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