# Visualisierung Albumcovers wie bei iTunes



## pat270881 (21. Sep 2006)

Hallo,

ich möchte gerne, das in Java realisieren, was man in iTunes machen kann. In iTunes gibt es einen Mode wo man sich die Albumcovers ansehen kann und zwar so, dass man das aktuelle ausgewählte Cover frontal sieht und die Covers die nachher und vorher kommen, so zur Seite gerückt angezeigt werden.

Weiß jemand was ich meine?

mfg

PS: Ich habe diesen Thread unabsichtlich auch in Java3D gepostet, vielleicht kann man den dort löschen.


----------



## Wildcard (21. Sep 2006)

Screenshot?


----------



## LoN_Nemesis (21. Sep 2006)

So wie ich das sehe gibt es einfach eine Liste mit Covers, das aktuelle wird dann gross angezeigt und der Nachfolger und Vorgänger klein daneben. Falls du das meinst, brauchst du einfach eine Liste mit den Alben und machst dann sowas in der Art:


```
Image aktuellesCover = album[i].getCover();
Image vorgaengerCover = album[i-1].getCover().getScaledInstance(breite, höhe, Image.SCALE_DEFAULT);
Image nachfolgerCover = album[i+1].getCover().getScaledInstance(breite, höhe, Image.SCALE_DEFAULT);

...
```


Der Code ist natürlich nicht vollständig, du musst noch überprüfen ob i+1 bzw i-1 überhaupt existiert und dann solltest du die Bilder irgendwo auch noch tatsächlich zeichnen. Aber vielleicht meinst du ja auch was ganz anderes und das passt gar nicht


----------



## pat270881 (21. Sep 2006)

Ähm...wie kann ich einen screenshot dem posting hinzufügen?


----------



## Wildcard (21. Sep 2006)

Über webspace oder einen Imagehoster wie Imageshack. Aber LoN_Nemesis scheint ja zu wissen was du meinst und hat dir entsprechend geantwortet...


----------



## pat270881 (21. Sep 2006)

Nein das meine ich aber leider nicht...

hier ist ein screenshot von:

Browsing Covers


Ist das möglich mit java zu realisieren?


----------



## LoN_Nemesis (22. Sep 2006)

Ja das kann man ganz bestimmt mit Java realisieren. Ich weiss allerdings nicht wie, könnte relativ viel Arbeit sein. So wie das aussieht ist das eine Art Mini 3D Engine.


----------



## pat270881 (22. Sep 2006)

Hmm...hat sonst jemand ne Idee wie ich da anfangen könnte...?


----------



## Roar (22. Sep 2006)

das geht auch recht lescher mit java2d


----------



## Wildcard (22. Sep 2006)

Im Prinzip handelt es sich ja nur um eine perspektivische Verzerrung eines Bilds.


----------



## pat270881 (22. Sep 2006)

Gibts dazu vielleicht Beispiele? - bin bei den grafischen Sachen nicht so gut... :?


----------



## m@nu (22. Sep 2006)

da verweise ich gerne zu einem meiner lieblingsblogs:
:arrow: http://www.jroller.com/page/gfx/?anchor=a_music_shelf_in_java2d
is zwar nicht genau das itunes-ding, kann aber leicht erweitert werden behaupte ich jetzt mal 


würde jetzt mal behaupten, apple hat da abgekupfert 
irgendwo is noch ein post zu finden, in dem sie einen kompletten player um das control gebaut haben... hab den aber nicht gerade auf anhieb wieder gefunden...
hoffe das hilft weiter


----------



## pat270881 (22. Sep 2006)

ah super danke, werde ich mir gleich mal ansehen!


----------



## pat270881 (26. Sep 2006)

hi,


habe mich jetzt intensiver damit beschäftigt, und dieses music shelve von dieser seite wurde mit Java2D entwickelt und anscheinend muss ich Java3D verwenden um es so zu implementieren, wie es in iTunes gemacht wurde.

Es ist glaube ich leichter wenn ich das ganze auf kleinere Probleme herunterbreche und diese implementiere und dann das ganze zusammensetze, sonst ist mir leider gar nicht klar, wie ich da am besten beginnen soll...

kann mir jemand empfehlen, in welche kleinere Probleme ich das ganze herunterbrechen kann...? - dann würde ich mit der Implementierung dieser mal beginnen und dann versuchen das ganze zusammenzusetzen...

wäre super, wenn hier jemand tipps für mich hat!

lg


----------



## Romain Guy (27. Sep 2006)

> Image nachfolgerCover = album[i+1].getCover().getScaledInstance(breite, höhe, Image.SCALE_DEFAULT);



*Never* use getScaledInstance(). It is way too slow!


----------



## Romain Guy (27. Sep 2006)

pat270881> By the way, you can use OpenGL with the JOGL library. I have an example of a photo viewer which shows a result very similar to iTunes 7: http://www.jroller.com/page/gfx/?anchor=a_swing_opengl_photo_viewer

I reused this example in a demo called Aerith ( http://www.jroller.com/page/gfx/?anchor=aerith_a_very_cool_swing ) which source code can be found at http://aerith.dev.java.net

Feel free to use my code if it helps you come up with a real 3D version of iTunes albums browser.

Also note that you might be able to implement it only with Java2D with the help of the JAI (Java Advanced Imaging) API and some perspective transformation filters. I am afraid it will be slow though.

The following screenshot shows what can be done quite easily with Swing and JOGL (see http://jogl.dev.java.net):


----------



## pat270881 (27. Sep 2006)

hey,


thank you for your posting, I thought I should use Java3D because it is easier than JOGL...? - I downloaded the source code from your site and tried to start the batch file but there occurs always an error that there is no main class found...?
Unfortunately there are so many classes divided in so many directories in your demo application that it is so difficult to me to find the relations between all these classes. Is it not possible to use a few certain classes which realises this mechanism, you implemented in your demo application?  :?


----------

