Browse Source

Fix acrylic.

feature/test-branch
Dan Walmsley 6 years ago
parent
commit
175eff6429
  1. 10
      samples/ControlCatalog/Pages/AcrylicPage.xaml
  2. 4
      src/Skia/Avalonia.Skia/DrawingContextImpl.cs

10
samples/ControlCatalog/Pages/AcrylicPage.xaml

@ -3,13 +3,7 @@
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
x:Class="ControlCatalog.Pages.AcrylicPage">
<UserControl.Background>
<ExperimentalAcrylicBrush
TintColor="#000000"
TintOpacity="{Binding #TintOpacitySlider.Value}"
BackgroundSource="Digger" />
</UserControl.Background>
x:Class="ControlCatalog.Pages.AcrylicPage">
<Border Padding="20" HorizontalAlignment="Center">
<StackPanel Spacing="20">
<Slider Name="TintOpacitySlider" Minimum="0" Maximum="1" Value="1" />
@ -86,7 +80,7 @@
<Border Height="200" Width="200" CornerRadius="5" BoxShadow="2 2 16 0 Black">
<Border.Background>
<ExperimentalAcrylicBrush
TintColor="#7F7F7F"
TintColor="#3c3c3c"
TintOpacity="{Binding #TintOpacitySlider.Value}"
BackgroundSource="Digger" />
</Border.Background>

4
src/Skia/Avalonia.Skia/DrawingContextImpl.cs

@ -661,7 +661,7 @@ namespace Avalonia.Skia
var a = new byte[256];
for (var i = 0; i < 256; i++)
{
c[i] = 255;
c[i] = (byte)i;
a[i] = (byte)(i * opacity);
}
@ -697,7 +697,7 @@ namespace Avalonia.Skia
acrylicBrush.BackgroundSource == AcrylicBackgroundSource.Digger ?
acrylicBrush.TintOpacity : 1;
const double noiseOpcity = 0.06;
const double noiseOpcity = 0.02;
var tintColor = acrylicBrush.TintColor;
var tint = new SKColor(tintColor.R, tintColor.G, tintColor.B, (byte)(255 * ((tintColor.A / 255.0) * acrylicBrush.Opacity)));

Loading…
Cancel
Save