9 Stimmen

Wie kann man verhindern, dass sich Farben vermischen?

Betrachten Sie das folgende Beispiel:

<Grid  HorizontalAlignment="Stretch" VerticalAlignment="Top">
    <Line Stroke="Red" X1="0" X2="100" Y1="50" Y2="50"/>
    <Line Stroke="Red" X1="50" X2="50" Y1="0" Y2="100"/>
</Grid>

Trotz der Tatsache, dass beide Linien SolidColorBrush und beide Opazität=1 haben, kommt es zu einer Farbüberblendung: Das Pixel am Schnittpunkt ist von dunklerer roter Farbe.

Warum passiert das und wie kann ich es verhindern?

Danke!

P.S. Hier ist ein weiteres Beispiel für den gleichen Code mit explizit definierten Pinseln:

<Grid HorizontalAlignment="Stretch" VerticalAlignment="Top">
    <Grid.Resources>
        <Style TargetType="{x:Type Line}">
            <Setter Property="Stroke">
                <Setter.Value>
                    <SolidColorBrush Color="Red" Opacity="1" />
                </Setter.Value>
            </Setter>
        </Style>
    </Grid.Resources>

    <Line X1="0" X2="100" Y1="50" Y2="50" />
    <Line X1="50" X2="50" Y1="0" Y2="100" />
</Grid>

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X