Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Transparenzvererbung ausschalten (https://www.delphipraxis.net/213599-transparenzvererbung-ausschalten.html)

sh17 23. Aug 2023 16:08

Transparenzvererbung ausschalten
 
Grundlegend geht es mir darum, ein Layout zu erstellen, welches ein transparentes Rectangle beinhaltet,
welches wiederum ein kleineres nicht transparentes Rectangle enthält. Ich hab jeweils ein Layout drum herum gepackt.
Leider "erbt" das innere Rectangle die Transparenz vom äußeren. Wie komme ich das weg? Falls es überhaupt klappt

Code:
  object Layout2: TLayout
    Position.X = 48.000000000000000000
    Position.Y = 48.000000000000000000
    Size.Width = 256.000000000000000000
    Size.Height = 217.000000000000000000
    Size.PlatformDefault = False
    TabOrder = 2
    object Rectangle1: TRectangle
      Align = Contents
      Opacity = 0.400000005960464500
      Size.Width = 256.000000000000000000
      Size.Height = 217.000000000000000000
      Size.PlatformDefault = False
      object Layout1: TLayout
        Position.X = 40.000000000000000000
        Position.Y = 40.000000000000000000
        Size.Width = 153.000000000000000000
        Size.Height = 105.000000000000000000
        Size.PlatformDefault = False
        TabOrder = 0
        object Rectangle2: TRectangle
          Align = Contents
          Size.Width = 153.000000000000000000
          Size.Height = 105.000000000000000000
          Size.PlatformDefault = False
        end
      end
    end
  end

himitsu 23. Aug 2023 16:19

AW: Transparenzvererbung ausschalten
 
Werden Transparenzen, Skalierung und Dergleichen nicht nach innen miteinander durchgerechnet?

Außen 50% und innen nochmal 50% wäre dann 25% 75% transparent.



Hast mal versucht mit über 100% zur rechnen?

50% * 200% = 100%
0.5 * 2.0 = 1.0 Opacity






Oder das innere Pannel nicht drinnen, sondern neben dem Ersten (selber Parent), nur in der Ebene drüber.
Code:
  object Layout2: TLayout
    Position.X = 48.000000000000000000
    Position.Y = 48.000000000000000000
    Size.Width = 256.000000000000000000
    Size.Height = 217.000000000000000000
    Size.PlatformDefault = False
    TabOrder = 2
    object Rectangle1: TRectangle
      Align = Contents
      Opacity = 0.400000005960464500
      Size.Width = 256.000000000000000000
      Size.Height = 217.000000000000000000
      Size.PlatformDefault = False
    end
  end
  object Layout1: TLayout
    Position.X = 40.000000000000000000
    Position.Y = 40.000000000000000000
    Size.Width = 153.000000000000000000
    Size.Height = 105.000000000000000000
    Size.PlatformDefault = False
    TabOrder = 0
    object Rectangle2: TRectangle
      Align = Contents
      Size.Width = 153.000000000000000000
      Size.Height = 105.000000000000000000
      Size.PlatformDefault = False
    end
  end

sh17 23. Aug 2023 19:46

AW: Transparenzvererbung ausschalten
 
ok, der zweite Hinweis war der entscheidende, vielen Dank, jetzt klappt es.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:04 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