AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Wie kann ich den Hintergrund des Mediaplayer-Displays transparent machen?
Thema durchsuchen
Ansicht
Themen-Optionen

Wie kann ich den Hintergrund des Mediaplayer-Displays transparent machen?

Ein Thema von IT Amnesie · begonnen am 28. Feb 2013 · letzter Beitrag vom 6. Mär 2013
Antwort Antwort
IT Amnesie

Registriert seit: 16. Feb 2013
3 Beiträge
 
#1

Wie kann ich den Hintergrund des Mediaplayer-Displays transparent machen?

  Alt 28. Feb 2013, 22:27
Hi an die gesamte Community!

Ich schreibe ein Programm mit Delphi 7, indem ich ein Spiel simulieren will, um mir das ganze ein bisschen selber beizubringen. Da meine letzte Schulpraxis mit Delhpi etwa 8 Jahre zurück liegt, habe ich ein paar Grund legende Sachen auch schon wieder vergessen.

Nun zu meiner Situation:
Ich habe ein Image, das die Umgebung darstellet auf den sich die Figur bewegen soll. Darauf liegt ein TAnimate, das als Display für den Mediaplayer dient und die bewegende Figur darstellt.

Das Problem:
Ich habe eine eigene AVI-datei erstellt und den Hintergrund weiß gelassen. Obwohl ich beim Animate transparent auf "true" gestellt habe, bleibt der Hintergrund weiß.
Wie kann ich das ändern?
Brauch ich eine bestimmte farbe oder gibt es eine besondere funktion, die ich vielleicht noch nicht kenne?

Ich bedanke mich im Voraus
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.686 Beiträge
 
Delphi 2007 Enterprise
 
#2

AW: Wie kann ich den Hintergrund des Mediaplayer-Displays transparent machen?

  Alt 28. Feb 2013, 23:05
Willkommen in der DP und zurück zu Delphi

Es gibt 3 Wege, wie einfache Transparenz üblicherweise (in Delphis Standardkomponenten) gehandhabt wird:

1) Die Farbe clFuchsia (R=255, G=0, B=255) wird als transparente Farbe verwendet
2) Die Farbe des oberen linken Pixels (Koordinaten (0, 0)) wird als transparente Farbe verwendet
3) Es gibt eine Eigenschaft, über die die transparente Farbe im Objektinspektor direkt angegeben wird (üblicherweise mit clFuchsia vorbelegt)

Da ich TAnimate noch nie eingesetzt habe, weiss ich spontan nicht was hier zum Einsatz kommt. Aber das wären die Dinge, nach denen du mal schauen könntest.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Volker Z.

Registriert seit: 4. Dez 2012
Ort: Augsburg, Bayern, Süddeutschland
419 Beiträge
 
Delphi XE4 Ultimate
 
#3

AW: Wie kann ich den Hintergrund des Mediaplayer-Displays transparent machen?

  Alt 28. Feb 2013, 23:37
Hallo,

wenn Du Dein AVI nicht auf clFuchsia umstellen willst, dann kann Du anstatt Animate1.Tramsparent := True versuchen Deinem AVI die transparente Farbe mitzuteilen. Sollte mit folgender Funktion klappen: SetBkColor (Animate1.Handle, clWhite);

Gruß
Volker Zeller
  Mit Zitat antworten Zitat
IT Amnesie

Registriert seit: 16. Feb 2013
3 Beiträge
 
#4

AW: Wie kann ich den Hintergrund des Mediaplayer-Displays transparent machen?

  Alt 1. Mär 2013, 12:03
Danke für dieschnellen Antworten!

Die Farbe des oberen linken Pixels (Koordinaten (0, 0)) wird als transparente Farbe verwendet
Ja, das kenne ich vom TImage und da funktioniert es auch ohne Probleme. Nur hier finde ich einfach nicht die Lösung. :/

Ich habe auch die Farbe clFuchsia als Hintergund erstellt (rot:255, gelb:0, blau:255). Aber auch das funktioniert nicht.

Wie kann ich mir die Transparente Frabe denn anzeigen lassen?

wenn Du Dein AVI nicht auf clFuchsia umstellen willst, dann kann Du anstatt Animate1.Tramsparent := True versuchen Deinem AVI die transparente Farbe mitzuteilen. Sollte mit folgender Funktion klappen: SetBkColor (Animate1.Handle, clWhite);
Habe ich auch versucht. Klappt nicht. Muss das an einer bestimmten stelle während der Laufzeit passieren?
Wenn nicht kann es sein, das Transparent auf "fasle" stehen muss?

Bisher habe ich immer selbst eine Lösung gefunden, aber diesmal bin ich echt ratlos. Aber ich denke mir das die Lösung ganz simpel ist. Ich setze gedanklich bestimmt nur falsch an.
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#5

AW: Wie kann ich den Hintergrund des Mediaplayer-Displays transparent machen?

  Alt 1. Mär 2013, 12:14
Das Transparent bezieht sich nur auf die Darstellung des Avis, welche der Farben hier transparent sein soll, dort wird dann die Hintergrundfarbe des TAnimate dargestellt. Das Control selbst ist von TWinControl abgeleitet und wird nicht transparent.
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
IT Amnesie

Registriert seit: 16. Feb 2013
3 Beiträge
 
#6

AW: Wie kann ich den Hintergrund des Mediaplayer-Displays transparent machen?

  Alt 6. Mär 2013, 20:50
Ok, danke Bummi...gibt es vielleicht eine Alternative?

Bei einem Image klappt das mit der Transparenz ja ganz gut. Das Problem ist nur, dass von 5 Bildern nur das erste und das letzte angezeigt werden, wenn das letzte Bild dem ersten entspricht.

Ich weiß, dass man mehrere Images benutzen, sie übereinander legen und sie einzeln sichtbar machen kann. Das finde ich aber nicht ganz so elegant. Außerdem möchte ich nicht für jede Figur mehrere Images benutzen. Gibt es in diesem Fall vielleicht eine Lösung?
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#7

AW: Wie kann ich den Hintergrund des Mediaplayer-Displays transparent machen?

  Alt 6. Mär 2013, 21:41
Ich (persönlich) würde mich von dem Konzept Image und TAnimate komplett verabschieden und die Animation in einem TGraphicContol (im primitivsten Fall TPaintbox) direkt darstellen.
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Antwort Antwort

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:03 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