Wie fügt man ein Hintergrundbild ein?

Begonnen von Waterfall, 07. September 2009, 13:35:49

Vorheriges Thema - Nächstes Thema

Waterfall

Wie fügt man ein Hintergrundbild ein?

So damit es nicht so aussieht, als wollte ich alles von euch vorgekaut bekommen habe ich wieder einen kleinen Etappensieg zu vermelden. Also ich hab mir das Plugin Panel Stack Splitter zugelegt und wenn ich so einen Splitter erstelle und folgenden Befehl ins Script schreibe: $imageabs(10,10,%_width%,%_height%,images/whatever.png,) dann kann ich in einen Splitter / Panel ein Bild einfügen. Das kann an der richtigen Stelle ja den Player aufpeppen. Wie gelingt es mir nun erstmal dieses Bild als Hintergrund zu verwenden? Ich habe versucht einen Panel Stack Splitter zu erstellen, in den ich dann einen Filter gesetzt habe. Mit dem Ergebnis, dass das bild überblendet wird. Man sieht nur noch knapp die Konturen. So gehts also nicht. Hat wer eine Idee?
,,Das Leben ist voller Möglichkeiten, aber du kriegst nie eine." Charlie Brown

tedgo

Damit das Hintergrundbild im Panel Stack Splitter sichtbar wird, muss das eingefügte Panel "Transparenz" beherrschen.
Das tun leider nur sehr wenige Panel (ELPlaylist, Lyrics Show Panel, WSH Panel mod und weitere Panel Stack Splitter).
Die Columns UI Filter gehören leider nicht dazu...

Dein Anliegen wird so also nicht funktionieren.

Was wenn du folgendes machen würdest?
Erstelle doch im PSS an der Stelle, an der die Filter erscheinen sollen, eine Art Trackinfo Panel (im PSS selbst) oder irgendein anderes Panel, welches Transparenz beherrscht und blende die Filter nur bei Bedarf über einen Button ein.
Die Filter selbst sind dann zwar immer noch über das Bild gelegt, aber eben nur noch bei Bedarf sichtbar.
Eine andere Lösung fällt mir da jetzt auf die Schnelle nicht ein...

Waterfall

Wie blendet man denn etwas über einen Button ein?

Habe mir übrigens deinen Super Skin angesehen und mir ein paar der Panels zugelegt.
,,Das Leben ist voller Möglichkeiten, aber du kriegst nie eine." Charlie Brown

tedgo

#3
Das geht im Script des Panel Stack Splitters.

Dazu musst du einen Button anlegen (auf der Registerkarte "PerTrack").
z. B.
$font(Segoe UI,10,bold)
$textbutton(10,10,60,20,FILTER,FILTER,PANELSHOW:Filter:-1;REFRESH,fontcolor:63-100-127,fontcolor:191-228-255)

Die Filter müssen dann natürlich die Caption Filter haben, sonst klappt es nicht.

Übrigens:
Die Filter solltest du in einen horizontalen oder vertikalen Splitter setzen und erst diesen in den PSS!
Sie sind sonst u. U. nicht klickbar.

Also in deinem Layout im Haupt-Panel Stack Splitter einen horiz. o. vert. Splitter einfügen und in diesem deine Filter anordnen.

Wenn du das dann gemacht hast, ist das Hintergrundbild sichtbar, solange der Filter inaktiv ist.
Schaltest du den Filter hinzu, wird dieser das Hintergrundbild überblenden, solange du ihn aktiv hältst.

EDIT:
Wenn du dir mal anschauen willst, wie man mit Hintergrundbildern arbeitet, kannst du dir ja mal Br3tt's Konfigurationen anschauen (Curacao, Kameleon, Xchange). Da kannst du dir auch aus den Scripts ableiten, wie du am besten vorgehen musst.
Ich selbst arbeite nicht mit Transparenz und Voll-Hintregrundbildern, weil mich auf meinem alten System das durch die Pseudo-Transparenz auftretende Flackern nervt ;)

Waterfall

hm das habe ich nicht verstanden. Ich weiß nicht wie man den Filte deaktiviert. Es muss nicht diese herangehensweise sein. So wie du das bei deinem Filter mit Enya im Hintergrund hast würde es mir auch gefallen, solange ich das Bild austauschen kann.
,,Das Leben ist voller Möglichkeiten, aber du kriegst nie eine." Charlie Brown

tedgo

Das Bild im Hintergrund der ELPlaylist bei der DarkOne-Konfiguration ist ein wechselndes Interpretenbild. Das ist im Panel Stack Splitter eingefügt und wird nur deshalb angezeigt, weil die ELPlaylist Transparenz beherrscht.
Die Filter - um die es dir ja ging - beherrschen das allerdings nicht.

Zu deinem Problem mit dem Filter und dem Hintergrundbild:
Der Filter wird über denselben Button deaktiviert. Einfach nochmal auf den Button klicken.

Um es nochmal zu verdeutlichen:
Du fügst im Layout in deinen PSS einen horiz. o. vert. Splitter ein.
Diesen Splitter plazierst du im PSS über Rechtsklick --> Splitter Settings --> den Splitter in der Panel list markieren, die Caption FILTER vergeben --> Forced layout anhaken --> Werte für top, left, width, height vergeben.
Ins Script den oben genannten Code für den Button eingeben.

In diesen horiz. o. vert. Splitter (je nachdem, welchen du gewählt hast) fügst du jetzt deine Filter ein.
Mit dem Button kannst du nun diesen Splitter mit den Filter ein-/ausschalten.
Ist er eingeschaltet, wird das Hintergrundbild stellenweise mit ihm überdeckt solange bis du ihn wieder ausschaltest.

Waterfall

Ok ich habe in PSS den Code von oben eingegeben. Dann forced layout angeklickt und bei Panel Settings steht Vertical Splitter drin, den ich in den PSS eingefügt habe. An den Panel Settings lässt sich nichts verändern. Wenn ich dann ELPlaylist in den Vertical Splitter einfüge, habe ich entweder ein graues Bild auf dem Filter steht oder die ELplaylist, die alles abdeckt.
,,Das Leben ist voller Möglichkeiten, aber du kriegst nie eine." Charlie Brown

tedgo

Der Splitter ist deshalb grau, weil du die Filter noch nicht eingefügt hast.
Die ELPlaylist musst du natürlich auch im PSS plazieren (über die Angaben für top, left, width und height) nicht im vert. Splitter!
In den vert. Splitter gehören die Filter.

Ein bisschen entfernen wir uns ja schon wieder vom Thema mit den Hintergrundbildern.
Vielleicht sollten wir uns erst mal auf dieses Thema beschränken und für das Anlegen eines Layouts mit Hilfe des PSS in einem neuen diskutieren ;).

Waterfall

Was erklärst du mir denn? Ich dachte es geht hier um das Hintergrundbild? Bei Top, left, width habe ich aus purer Verzweiflung mal irgendwas eingegeben, aber wie bei 99% aller Knöpfe, buttons, Panels, browser, dropdown etc. verändert sich nichts wenn man sie drückt. Ich checks einfach nicht.
,,Das Leben ist voller Möglichkeiten, aber du kriegst nie eine." Charlie Brown

tedgo

#9
Na, wie du das Hintergrundbild einfügst, das hat mit dem Panel-Placement primär nichts zu tun.
Und das Hintergrundbild fügst du zunächst mal im PSS-Script ein (mit $imageabs(...), wie du es ja bereits getan hast.

Wie es dann angezeigt wird hängt vom Panel-Placement ab.
Damit es im Hintergrund von Panels sichtbar ist, muss das darauf gelegte Panel "Transparenz" oder "Pseudo-Transparenz" beherrschen. Wie ich schon schrieb, kann das der Columns UI Filter und auch die Columns UI Splitter (horiz./vert.) nicht.
Deshalb mein Tipp mit dem zu- bzw. abschalten eines solchen Panels über einen im PSS integrierten Button (siehe obigen Code).

Der PSS verhält sich anders als die Columns UI Splitter.
Im PSS musst du Zahlenwerte (Pixel) für die Plazierung der Panel angeben.

Also z. B.
Für deine in einem horiz. o. vert. Splitter integrierten Filter:
top: 20
left: 0
width: 200
height: $sub(%ps_height%,20)
Hier hakst du noch "Hide panel on startup" an.

Für die ELPlaylist:
top: 20
left: 200
width: $sub(%ps_width%,200)
height: $sub(%ps_height%,20)

Für beide Panel "Forced layout" anhaken.
(Das ist jetzt nur ein sehr einfaches Beispiel, musst du natürlich anpassen).

Mit dem Hintergrundbild für die ELPlaylist ist es kein Problem.
Gehe einfach in dessen Settings (Rechtsklick auf die Playlist --> Settings) und gehe auf die Registerkarte "style".
Da aktivierst du "Pseudo-transparent Background".
Beim abspielen des nächsten Liedes oder jeder anderen Aktion sollte dann das Hintergrundbild im PSS durchscheinen.

Mit den Filtern ist es so, dass nur dann das Hintergrundbild sichtbar ist, wenn die Filter NICHT über den Button zugeschaltet wurden.
Ist es jetzt klarer? :)

Noch mal mein Tipp:
Schau dir mal die Configs von Br3tt (aka Falstaff auf hydrogenaudio) an.
Das wären Curacao, Kameleon und Xchange.
Er arbeitet mit Transparenz. Ich nur im Hintergrund der ELPlaylist.
Falls dir das schon ausreichen würde, dann schau dir doch mal die DarkOne-Konfiguration und deren Scripts genauer an.
Die sind nicht so "überladen" wie die von Br3tt und für dich möglicherweise dadurch leichter verständlich ;)

Waterfall

#10
Ok Hintergrundbild in der ElPlaylist habe ich jetzt geschafft.

Aber das mit dem Buttom bzw. dem Code dafür habe ich nicht verstanden. Für mich ist ein Button ein Knopf, den ich auch drücken kann. Wenn ich den Code also ins script von PSS schreibe, wo sehe ich den entsprechenden Knopf dann um die Filter zuzuschalten?



So nochmal ein Bild. So sieht es bei mir aus. Ich mach die Einstellungen wie bei dir beschrieben. Sobald ich aber in den eingeschobenen horizontalen Filter einen weiteren Filter einfüge, der ja irgendetwas darstellen soll blendet er über das bild. Wenn ich dann die Einstellungen in PSS wiederhole ist wieder nur das bild zu sehen. Was ich ja auch einfach in einem PSS Fenster anzeigen lassen könnte wenn es mir nur darum ginge.

Der markierte PSS ist auch der, den man ganz rechts sehen kann. Pseudo Transparency ist auch aktiviert.
,,Das Leben ist voller Möglichkeiten, aber du kriegst nie eine." Charlie Brown

tedgo

#11
Irgendwie scheinen wir aneinander vorbei zu reden oder ich habe heute einen schlechten Tag :)

In deinem Layout sieht es jetzt etwas chaotisch aus:
Du hast da einen PSS in dem du parallel einen Horizontalen Splitter und die ELPlaylist hast. Wieso?
Dann sehe ich, dass du bereits Filter in einem Horizontalen Splitter hast, der wiederum in einem vertikalen Splitter integriert ist und dieser sich wohl in deinem Haupt-Splitter (welcher Art auch immer) drin ist.

Der "Filter", mit dem du jetzt das Hintergrundbild austesten willst befindet sich ja in einem Horizontalen Splitter, der in einem PSS steckt. Soweit richtig.
Jetzt müsstest du in deinen Splitter-Settings auf der Registerkarte "PanelList" bei "Caption" aus Horizontal splitter nur noch Filter machen, bei "height" aus 20 mal besser 200 machen und bei "top" aus 20 machst du bitte mal 40 (wegen dem Button, der darüber liegt).
Dann brauchst du nur noch auf FILTER klicken (das ist nämlich bereits der Button - und zwar ein Textbutton- , was du daran siehst, dass er hell aufleuchtet, wenn du mit der Maus darüberfährst) und dann müsste es klappen, dass anstatt des Bildes der Filter angezeigt wird.
Ich nehme mal an, dass diese Layout nur dein Testlayout ist, denn für mich macht es wenig Sinn...

Ich glaube, ich muss nochmal grundsätzlich etwas anmerken:
Ein durchgehendes Hintergrundbild ist NICHT möglich, da viele Panel keine "Pseudo Transparenz" beherrschen.

Wenn es dir nur darum ging, im Hintergrund der ELPlaylist ein Hintergrundbild anzuzeigen, kann ich dir auch dafür eine Anleitung geben.
Aber ich denke, du umreißt noch einmal, was du wirklich willst, denn das erschließt sich mir nicht aus dem in deinem Screenshot ersichtlichen Layout...
Mach doch mal einen Screenshot von deiner jetzigen Foobar-Ansicht bzw. von der Ansicht, die du erreichen willst und umreiße dabei nochmal, wo du ein Hintergrundbild angezeigt haben möchtest. Vielleicht reden wir ja wirklich ein wenig aneinander vorbei :)

Übrigens:
Pseudo transparency musst du im Panel Stack Splitter nicht aktivieren, das hatte ich für die ELPlaylist vorgeschlagen...

Waterfall

Nein es liegt nicht an dir, tedgo, sondern an meinem begrenzten Wissen. Ich finde es aber toll, dass du dir so viel Zeit nimmst mir zu helfen. Das hat mich schon um Einiges weiter gebracht.

Es ist zum Teil mein Probelayout. Meine Angst ist, dass wenn etwas weg ist, ich es nicht noch mal reproduzieren kann. Etwas zu löschen ist hingegen kein Problem, daher belasse ich alles im Layout und lösche nachher weg was mir nicht gefällt.

Ich habe deine Ratschläge befolgt und jetzt habe ich das Wort FILTER über dem Bild und wenn ich darauf klicke, bekomm ich ein Dropdown menü mit den Genres. War das so gedacht?

Du hast richtig erkannt, dass ich eigentlich gern ein Hintergrundbild möchte, dass über den ganzen Mediaplayer geht. Gut, wenn es nicht geht ist es nicht schlimm. Schwarz eigenet sich ohnehin besser wegen der Lesbarkeit. Mein Gesamtlayout sieht die Farben, grau, schwarz, lila vor. Als zusätzliche Funktionen wollte ich noch ein Panel mit der Biographie und mit dem Text hinzufügen. Vorgesehen hatte ich dafür, dass im Hintergrund dieser Panele ein kleines Muster ist, dass den Designfarben entspricht, um es halt optisch etwas aufzupeppen.

Das ist auch ein Grund warum ich die ElPlaylist nicht verwenden kann, weil sie die zu meinem Layout nicht passende Farbe türkis als Überschrift hat und ich es nicht wegbekomme. Zusätzlich dazu wollte ich gern die coloumn header farblich anpassen. Damit meine ich die Zeilen, in denen Artist, Title etc. über der Playlist stehen. Als Funktion dazu noch die Statistik wann ein Lied zum letzten Mal abgespielt wurde und vielleicht noch ein paar Transparenz - Effekte und ich bin glücklich.

Das nur, damit du einen Überblick über mein Gesamtkonzept hast. So und in dieser Abteilung wollte ich halt gern wissen, wie ich so ein Hintergrundbild mit dem Muster in ein Panel kriege. Das Keith Richards Bild ist nur ein Platzhalter.

Jetzt verstehst du vielleicht auch warum ich nicht so gern für jede Frage ein eigenes Thema aufmachen will, weil es viele Frage sind und manche in einander über gehen.
,,Das Leben ist voller Möglichkeiten, aber du kriegst nie eine." Charlie Brown

tedgo

#13
Zitat von: Waterfall in 08. September 2009, 00:24:16
Es ist zum Teil mein Probelayout. Meine Angst ist, dass wenn etwas weg ist, ich es nicht noch mal reproduzieren kann. Etwas zu löschen ist hingegen kein Problem, daher belasse ich alles im Layout und lösche nachher weg was mir nicht gefällt.
Dann hoffe ich mal, dass du dein Grundlayout vor den ganzen Änderungen gespeichert hast (Preferences --> Columns UI --> Registerkarte "Main" --> "FCL importing and exporting" --> "Export").
So kannst du den Ausgangszustand immer wieder über "Import" aufrufen, falls mal was schief geht ;)

Zitat von: Waterfall in 08. September 2009, 00:24:16
Ich habe deine Ratschläge befolgt und jetzt habe ich das Wort FILTER über dem Bild und wenn ich darauf klicke, bekomm ich ein Dropdown menü mit den Genres. War das so gedacht?
Genau so war das als Beispiel gedacht. Ich wollte dir damit nur zeigen, dass man so zwar keine Transparenz hinbekommt, aber wenigstens ein Hintergrundbild angezeigt bekommt, solange man die Filter - die man ja nicht ständig braucht - nicht aktiviert hat.
Wie gesagt, das war nur ein Beispiel!

Zitat von: Waterfall in 08. September 2009, 00:24:16
Als zusätzliche Funktionen wollte ich noch ein Panel mit der Biographie und mit dem Text hinzufügen. Vorgesehen hatte ich dafür, dass im Hintergrund dieser Panele ein kleines Muster ist, dass den Designfarben entspricht, um es halt optisch etwas aufzupeppen.
Da hast du Glück: beide Panels beherrschen Transparenz. Falls du diese Panels direkt in einen übergreifenden PSS einbettest und plazierst (wie ich oben als Beispiel angebracht habe), kannst du im PSS ein Bild anzeigen lassen, welches im Hintergrund angezeigt wird.

Dazu ein Beispiel-Layout-Baum:
Horizontal Splitter
- Panel Stack Splitter
 - Biography view
 - Lyrics Show Panel
 - ELPlaylist
 - Horizontal splitter
   -- Filter
   -- Filter
   -- Filter

Wenn du nun im Script des PSS ein Bild anlegst (mit der $imageabs() Funktion) und die Panel über die PanelList plazierst (wie oben beschrieben), die Panel dann noch - soweit möglich - auf "Pseudo transparency" setzt (die Panel, nicht den PSS!), dann hast du im Hintergrund dieser Panel das Hintergrundbild.
Du kannst diese Hintergrundbild etwas verblassen lassen, für eine bessere Lesbarkeit der Einträge in den Panels. Das geht innerhalb der $imageabs() Funktion.
z. B.:
$imageabs(0,0,%ps_width%,%ps_height%,ichbindasgwünschtebild.jpg,,,128)

(die 128 steht für den Alpha-Wert des Bildes (wählbarer Bereich: 0-255) und somit für ein "Verblassen" ;))

Wenn du jetzt auch noch "schwarz" als Hintergrundfarbe des PSS nimmst (über Splitter Settings --> Registerkarte "behaviour" --> "custom background colour" anhaken und über "Change colour..." die Farbe schwarz auswählen), dann scheint dieses schwarz auch durch das halbtransparente Hintergrundbild und die Schrift in deinen darüberliegenden Panels bleibt stets gut sichtbar.

Da sich der Horizontal splitter nicht auf Transparenz umstellen lässt, habe ich eben den Tipp gegeben, diesen mit einem Button nur bei Bedarf an-/auszuschalten, da sonst immer ein Teil des Hintergrundbildes überdeckt würde.

Zitat von: Waterfall in 08. September 2009, 00:24:16
Das ist auch ein Grund warum ich die ELPlaylist nicht verwenden kann, weil sie die zu meinem Layout nicht passende Farbe türkis als Überschrift hat und ich es nicht wegbekomme. Zusätzlich dazu wollte ich gern die coloumn header farblich anpassen. Damit meine ich die Zeilen, in denen Artist, Title etc. über der Playlist stehen. Als Funktion dazu noch die Statistik wann ein Lied zum letzten Mal abgespielt wurde und vielleicht noch ein paar Transparenz - Effekte und ich bin glücklich.
Tja, wenn du Transparenz in der Playlist haben willst, kommst du um die ELPlaylist nicht herum...
Da lässt sich auch alles einstellen, was du willst, außer Spaltenköpfe. Die hat die ELPlaylist nicht.

Zitat von: Waterfall in 08. September 2009, 00:24:16
Jetzt verstehst du vielleicht auch warum ich nicht so gern für jede Frage ein eigenes Thema aufmachen will, weil es viele Frage sind und manche in einander über gehen.
Ich kann diese Denkweise nachvollziehen, aber dennoch: Was nicht zum Thema gehört, gehört nun mal in einen eigenen Thread.
Wie z. B. die Konfiguration der ELPlaylist (also die türkise Schriftfarbe usw.). Das gehört nun mal nicht zum Thema "Hintergrundbild" und deshalb solltest du uns und dir einen neuen Thread dazu gönnen ;).
Jemand der vor einem ähnlichen Problem steht würde die passenden Antworten schließlich nicht in einem Thema über ein Hintergrundbild vermuten.

Waterfall

Danke für den ausführlichen Beitrag. Ich habe es jetzt hinbekommen mein Bild transparent als Hintergrund anzeigen zu lassen.



Wie du siehst, sind da Bereiche, die nicht schwarz sind, obwohl ich scharz als Hintergrundfarbe eingestellt habe in den Panel - Settings. Ich vermute mal, dass es etwas mit der Panel - Anordnung zu tun hat, wenn ich die aber in den Splitter - Setting verändere tut sich nichts im Hintergrund.
,,Das Leben ist voller Möglichkeiten, aber du kriegst nie eine." Charlie Brown