AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Firemonkey Effekte unterscheiden sich

Ein Thema von Andreas L. · begonnen am 10. Nov 2019 · letzter Beitrag vom 10. Nov 2019
Antwort Antwort
Andreas L.

Registriert seit: 23. Mai 2011
Ort: Furth im Wald
308 Beiträge
 
Delphi 11 Alexandria
 
#1

Firemonkey Effekte unterscheiden sich

  Alt 10. Nov 2019, 14:05
Hi,
wenn ich ein TImage mit einer TShadowEffect-Komponente in Design-Time ausstatte und das selbe Bild mittels Code zur Laufzeit style erhalte ich unterschiedliche Ergebnisse (siehe Screenshot/Demo-Programm).

Eigenschaften der TShadowEffect-Komponente:
  • Distance = 3
  • Direction = 45
  • Softness = 1
  • Opacity = 0.6
  • ShadowColor = claBlack

Code zur Laufzeit:
  ShadowEffect.ProcessEffect(imgEffectCode.Canvas, imgEffectCode.Bitmap, 1);
Ich habe im Delphi-Code gestöbert und habe herausgefunden das bei Effekten die auf einem Control platziert werden andere Routinen ablaufen als wenn man den Code zur Laufzeit ausführt.

Jetzt meine Frage: Wie kann ich via Code das selbe Ergebnis erhalten wie als hätte ich den Effekt auf dem Image platziert?

Im angehängten Archiv ist sowohl eine Exe als auch der Code.
Miniaturansicht angehängter Grafiken
screenshot-bild-mit-shadoweffect.png  
Angehängte Dateien
Dateityp: 7z FMXEffectDemo.7z (2,51 MB, 6x aufgerufen)
Andreas Lauß
Blog
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.093 Beiträge
 
Delphi 12 Athens
 
#2

AW: Firemonkey Effekte unterscheiden sich

  Alt 10. Nov 2019, 14:27
Du möchtest also eine Bitmap direkt verändern, vermute ich mal.

Ansonsten sollte es möglich sein dem TImage eine Shadow-Komponnte zuzuorden, und genauso wie im Designer zu setzen.
Das sollte eigentlich das gleiche Ergebnis bringen.
  Mit Zitat antworten Zitat
Andreas L.

Registriert seit: 23. Mai 2011
Ort: Furth im Wald
308 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Firemonkey Effekte unterscheiden sich

  Alt 10. Nov 2019, 15:05
Du möchtest also eine Bitmap direkt verändern, vermute ich mal.

Ansonsten sollte es möglich sein dem TImage eine Shadow-Komponnte zuzuorden, und genauso wie im Designer zu setzen.
Das sollte eigentlich das gleiche Ergebnis bringen.
Das habe ich schon versucht. Der Effekt wird zwar korrekt angezeigt. Aber wenn ich das Bitmap des TImage speichere ist dort der Effekt nicht zu sehen.

Habt ihr eine Idee wie ich sonst ein TImage-Bild inkl. Effekte speichern kann. Und ganz wichtig: Die Alpha-Transparenz des Bildes muss erhalten bleiben!
Andreas Lauß
Blog
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.533 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Firemonkey Effekte unterscheiden sich

  Alt 10. Nov 2019, 15:32
Ich habe mal kurz in den Code rein gesehen. Sehe nicht, dass Du da irgendwo einen Wert für den Effect setzt...

Wenn, würde ich nicht TEffect verwenden, sondern TEffectFilter. Aber da ist das Property "Filter" Protected, da würdest nur mit Verrenkungen rankommen.

Mach es doch so, wie hier hier mal gepostet habe: https://www.delphipraxis.net/1339144-post17.html
(also Filter: FMX.Filter.TFilter verwenden)

Oder ganz einfach wäre auch:

ShadowEffect.Parent := imgEffectCode;
ShadowEffect.Enabled := True;

Dann könntest Du die Werte der Effekte ganz einfach über die Effekt-Komponente ansteuern, statt über das Setzen der Filter-Values...

Geändert von Harry Stahl (10. Nov 2019 um 15:45 Uhr)
  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 23:24 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