add MultiplyBlendEffect
This commit is contained in:
1 parent
24d323c09d
commit
f6da5e1101
15 files changed
+502
-71
No files matched your search
@@ -471,6 +471,12 @@
|
||||
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\cloud.png">
|
||||
<Link>Resources\Img\cloud.png</Link>
|
||||
</Resource>
|
||||
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\f.png">
|
||||
<Link>Resources\Img\f.png</Link>
|
||||
</Resource>
|
||||
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\b.png">
|
||||
<Link>Resources\Img\b.png</Link>
|
||||
</Resource>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="..\..\Shared\HandyControlDemo_Shared\Properties\Langs\Lang.en.resx">
|
||||
|
||||
@@ -76,6 +76,9 @@
|
||||
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Effects\GrayScaleEffect.ps">
|
||||
<Link>Resources\Effects\GrayScaleEffect.ps</Link>
|
||||
</Resource>
|
||||
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Effects\MultiplyBlendEffect.ps">
|
||||
<Link>Resources\Effects\MultiplyBlendEffect.ps</Link>
|
||||
</Resource>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Images\GlowWindow\bottom.png">
|
||||
|
||||
@@ -547,6 +547,12 @@
|
||||
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\cloud.png">
|
||||
<Link>Resources\Img\cloud.png</Link>
|
||||
</Resource>
|
||||
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\f.png">
|
||||
<Link>Resources\Img\f.png</Link>
|
||||
</Resource>
|
||||
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\b.png">
|
||||
<Link>Resources\Img\b.png</Link>
|
||||
</Resource>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Data\DemoInfo.json">
|
||||
|
||||
@@ -128,6 +128,9 @@
|
||||
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Effects\GrayScaleEffect.ps">
|
||||
<Link>Resources\Effects\GrayScaleEffect.ps</Link>
|
||||
</Resource>
|
||||
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Effects\MultiplyBlendEffect.ps">
|
||||
<Link>Resources\Effects\MultiplyBlendEffect.ps</Link>
|
||||
</Resource>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Images\GlowWindow\bottom.png">
|
||||
|
||||
@@ -610,6 +610,12 @@
|
||||
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\cloud.png">
|
||||
<Link>Resources\Img\cloud.png</Link>
|
||||
</Resource>
|
||||
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\f.png">
|
||||
<Link>Resources\Img\f.png</Link>
|
||||
</Resource>
|
||||
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\b.png">
|
||||
<Link>Resources\Img\b.png</Link>
|
||||
</Resource>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\fabric-icons.ttf">
|
||||
|
||||
@@ -199,6 +199,9 @@
|
||||
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Effects\GrayScaleEffect.ps">
|
||||
<Link>Resources\Effects\GrayScaleEffect.ps</Link>
|
||||
</Resource>
|
||||
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Effects\MultiplyBlendEffect.ps">
|
||||
<Link>Resources\Effects\MultiplyBlendEffect.ps</Link>
|
||||
</Resource>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Images\GlowWindow\bottom.png">
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 19 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 20 KiB |
@@ -25,75 +25,371 @@
|
||||
</EventTrigger>
|
||||
</UserControl.Triggers>
|
||||
<hc:TransitioningContentControl>
|
||||
<StackPanel Margin="20,0,20,32">
|
||||
<UniformGrid Margin="16" Columns="3">
|
||||
<Image Margin="16" Width="120" Height="120" Source="/HandyControlDemo;component/Resources/Img/Album/10.jpg"/>
|
||||
<Image Width="120" Height="120" Source="/HandyControlDemo;component/Resources/Img/Album/10.jpg">
|
||||
<Image.Effect>
|
||||
<hc:ColorComplementEffect/>
|
||||
</Image.Effect>
|
||||
</Image>
|
||||
<Image Width="120" Height="120" Source="/HandyControlDemo;component/Resources/Img/Album/10.jpg">
|
||||
<Image.Effect>
|
||||
<hc:GrayScaleEffect/>
|
||||
</Image.Effect>
|
||||
</Image>
|
||||
<Image Width="120" Height="120" Source="/HandyControlDemo;component/Resources/Img/Album/10.jpg">
|
||||
<Image.Effect>
|
||||
<hc:GrayScaleEffect Scale=".7"/>
|
||||
</Image.Effect>
|
||||
</Image>
|
||||
<Image Width="120" Height="120" Source="/HandyControlDemo;component/Resources/Img/Album/10.jpg">
|
||||
<Image.Effect>
|
||||
<hc:ColorMatrixEffect M11="-1" M22="-1" M33="-1" M41="1" M42="1" M43="1" M44="1" M51="1"/>
|
||||
</Image.Effect>
|
||||
</Image>
|
||||
<Image Width="120" Height="120" Source="/HandyControlDemo;component/Resources/Img/Album/10.jpg">
|
||||
<Image.Effect>
|
||||
<hc:ColorMatrixEffect M11="1.5" M21="1.5" M31="1.5" M12="1.5" M22="1.5" M32="1.5" M13="1.5" M23="1.5" M33="1.5" M51="-1" M52="-1" M53="-1"/>
|
||||
</Image.Effect>
|
||||
</Image>
|
||||
</UniformGrid>
|
||||
<Border>
|
||||
<Border.Effect>
|
||||
<hc:ContrastEffect Contrast="20"/>
|
||||
</Border.Effect>
|
||||
<Border>
|
||||
<Border.Effect>
|
||||
<hc:BrightnessEffect Brightness="1"/>
|
||||
</Border.Effect>
|
||||
<TabControl Style="{StaticResource TabControlInLine}">
|
||||
<TabItem Header="Effect">
|
||||
<StackPanel Margin="20,0,20,32">
|
||||
<UniformGrid Margin="16" Columns="3">
|
||||
<Image Margin="16" Width="120" Height="120" Source="/HandyControlDemo;component/Resources/Img/Album/10.jpg"/>
|
||||
<Image Width="120" Height="120" Source="/HandyControlDemo;component/Resources/Img/Album/10.jpg">
|
||||
<Image.Effect>
|
||||
<hc:ColorComplementEffect/>
|
||||
</Image.Effect>
|
||||
</Image>
|
||||
<Image Width="120" Height="120" Source="/HandyControlDemo;component/Resources/Img/Album/10.jpg">
|
||||
<Image.Effect>
|
||||
<hc:GrayScaleEffect/>
|
||||
</Image.Effect>
|
||||
</Image>
|
||||
<Image Width="120" Height="120" Source="/HandyControlDemo;component/Resources/Img/Album/10.jpg">
|
||||
<Image.Effect>
|
||||
<hc:GrayScaleEffect Scale=".7"/>
|
||||
</Image.Effect>
|
||||
</Image>
|
||||
<Image Width="120" Height="120" Source="/HandyControlDemo;component/Resources/Img/Album/10.jpg">
|
||||
<Image.Effect>
|
||||
<hc:ColorMatrixEffect M11="-1" M22="-1" M33="-1" M41="1" M42="1" M43="1" M44="1" M51="1"/>
|
||||
</Image.Effect>
|
||||
</Image>
|
||||
<Image Width="120" Height="120" Source="/HandyControlDemo;component/Resources/Img/Album/10.jpg">
|
||||
<Image.Effect>
|
||||
<hc:ColorMatrixEffect M11="1.5" M21="1.5" M31="1.5" M12="1.5" M22="1.5" M32="1.5" M13="1.5" M23="1.5" M33="1.5" M51="-1" M52="-1" M53="-1"/>
|
||||
</Image.Effect>
|
||||
</Image>
|
||||
</UniformGrid>
|
||||
<Border>
|
||||
<Border.Effect>
|
||||
<BlurEffect Radius="30"/>
|
||||
<hc:ContrastEffect Contrast="20"/>
|
||||
</Border.Effect>
|
||||
<StackPanel>
|
||||
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
|
||||
<Border Width="100" Height="100" Background="Red" RenderTransformOrigin="0.5,0.5">
|
||||
<Border.RenderTransform>
|
||||
<TransformGroup>
|
||||
<RotateTransform Angle="0" x:Name="TransformRotate1"/>
|
||||
</TransformGroup>
|
||||
</Border.RenderTransform>
|
||||
</Border>
|
||||
<Border Margin="30,0,0,0" Width="100" Height="100" Background="Red" RenderTransformOrigin="0.5,0.5">
|
||||
<Border.RenderTransform>
|
||||
<TransformGroup>
|
||||
<RotateTransform Angle="0" x:Name="TransformRotate2"/>
|
||||
</TransformGroup>
|
||||
</Border.RenderTransform>
|
||||
</Border>
|
||||
</StackPanel>
|
||||
<Border Width="100" Height="100" Background="Red" HorizontalAlignment="Center" RenderTransformOrigin="0.5,0.5">
|
||||
<Border.RenderTransform>
|
||||
<TransformGroup>
|
||||
<RotateTransform Angle="0" x:Name="TransformRotate3"/>
|
||||
</TransformGroup>
|
||||
</Border.RenderTransform>
|
||||
<Border>
|
||||
<Border.Effect>
|
||||
<hc:BrightnessEffect Brightness="1"/>
|
||||
</Border.Effect>
|
||||
<Border>
|
||||
<Border.Effect>
|
||||
<BlurEffect Radius="30"/>
|
||||
</Border.Effect>
|
||||
<StackPanel>
|
||||
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
|
||||
<Border Width="100" Height="100" Background="Red" RenderTransformOrigin="0.5,0.5">
|
||||
<Border.RenderTransform>
|
||||
<TransformGroup>
|
||||
<RotateTransform Angle="0" x:Name="TransformRotate1"/>
|
||||
</TransformGroup>
|
||||
</Border.RenderTransform>
|
||||
</Border>
|
||||
<Border Margin="30,0,0,0" Width="100" Height="100" Background="Red" RenderTransformOrigin="0.5,0.5">
|
||||
<Border.RenderTransform>
|
||||
<TransformGroup>
|
||||
<RotateTransform Angle="0" x:Name="TransformRotate2"/>
|
||||
</TransformGroup>
|
||||
</Border.RenderTransform>
|
||||
</Border>
|
||||
</StackPanel>
|
||||
<Border Width="100" Height="100" Background="Red" HorizontalAlignment="Center" RenderTransformOrigin="0.5,0.5">
|
||||
<Border.RenderTransform>
|
||||
<TransformGroup>
|
||||
<RotateTransform Angle="0" x:Name="TransformRotate3"/>
|
||||
</TransformGroup>
|
||||
</Border.RenderTransform>
|
||||
</Border>
|
||||
</StackPanel>
|
||||
</Border>
|
||||
</StackPanel>
|
||||
</Border>
|
||||
</Border>
|
||||
</Border>
|
||||
</Border>
|
||||
</StackPanel>
|
||||
</StackPanel>
|
||||
</TabItem>
|
||||
<TabItem Header="BlendEffect">
|
||||
<UniformGrid Columns="6" Rows="4" Margin="8">
|
||||
<Border Width="67" Height="135" Background="Transparent" Margin="8">
|
||||
<Border.Effect>
|
||||
<hc:BlendEffect>
|
||||
<hc:BlendEffect.Background>
|
||||
<ImageBrush ImageSource="/HandyControlDemo;component/Resources/Img/b.png"/>
|
||||
</hc:BlendEffect.Background>
|
||||
<hc:BlendEffect.Foreground>
|
||||
<ImageBrush ImageSource="/HandyControlDemo;component/Resources/Img/f.png"/>
|
||||
</hc:BlendEffect.Foreground>
|
||||
</hc:BlendEffect>
|
||||
</Border.Effect>
|
||||
</Border>
|
||||
<Border Width="67" Height="135" Background="Transparent">
|
||||
<Border.Effect>
|
||||
<hc:BlendEffect>
|
||||
<hc:BlendEffect.Background>
|
||||
<ImageBrush ImageSource="/HandyControlDemo;component/Resources/Img/b.png"/>
|
||||
</hc:BlendEffect.Background>
|
||||
<hc:BlendEffect.Foreground>
|
||||
<ImageBrush ImageSource="/HandyControlDemo;component/Resources/Img/f.png"/>
|
||||
</hc:BlendEffect.Foreground>
|
||||
</hc:BlendEffect>
|
||||
</Border.Effect>
|
||||
</Border>
|
||||
<Border Width="67" Height="135" Background="Transparent">
|
||||
<Border.Effect>
|
||||
<hc:BlendEffect>
|
||||
<hc:BlendEffect.Background>
|
||||
<ImageBrush ImageSource="/HandyControlDemo;component/Resources/Img/b.png"/>
|
||||
</hc:BlendEffect.Background>
|
||||
<hc:BlendEffect.Foreground>
|
||||
<ImageBrush ImageSource="/HandyControlDemo;component/Resources/Img/f.png"/>
|
||||
</hc:BlendEffect.Foreground>
|
||||
</hc:BlendEffect>
|
||||
</Border.Effect>
|
||||
</Border>
|
||||
<Border Width="67" Height="135" Background="Transparent">
|
||||
<Border.Effect>
|
||||
<hc:BlendEffect>
|
||||
<hc:BlendEffect.Background>
|
||||
<ImageBrush ImageSource="/HandyControlDemo;component/Resources/Img/b.png"/>
|
||||
</hc:BlendEffect.Background>
|
||||
<hc:BlendEffect.Foreground>
|
||||
<ImageBrush ImageSource="/HandyControlDemo;component/Resources/Img/f.png"/>
|
||||
</hc:BlendEffect.Foreground>
|
||||
</hc:BlendEffect>
|
||||
</Border.Effect>
|
||||
</Border>
|
||||
<Border Width="67" Height="135" Background="Transparent">
|
||||
<Border.Effect>
|
||||
<hc:BlendEffect>
|
||||
<hc:BlendEffect.Background>
|
||||
<ImageBrush ImageSource="/HandyControlDemo;component/Resources/Img/b.png"/>
|
||||
</hc:BlendEffect.Background>
|
||||
<hc:BlendEffect.Foreground>
|
||||
<ImageBrush ImageSource="/HandyControlDemo;component/Resources/Img/f.png"/>
|
||||
</hc:BlendEffect.Foreground>
|
||||
</hc:BlendEffect>
|
||||
</Border.Effect>
|
||||
</Border>
|
||||
<Border Width="67" Height="135" Background="Transparent">
|
||||
<Border.Effect>
|
||||
<hc:BlendEffect>
|
||||
<hc:BlendEffect.Background>
|
||||
<ImageBrush ImageSource="/HandyControlDemo;component/Resources/Img/b.png"/>
|
||||
</hc:BlendEffect.Background>
|
||||
<hc:BlendEffect.Foreground>
|
||||
<ImageBrush ImageSource="/HandyControlDemo;component/Resources/Img/f.png"/>
|
||||
</hc:BlendEffect.Foreground>
|
||||
</hc:BlendEffect>
|
||||
</Border.Effect>
|
||||
</Border>
|
||||
<Border Width="67" Height="135" Background="Transparent">
|
||||
<Border.Effect>
|
||||
<hc:BlendEffect>
|
||||
<hc:BlendEffect.Background>
|
||||
<ImageBrush ImageSource="/HandyControlDemo;component/Resources/Img/b.png"/>
|
||||
</hc:BlendEffect.Background>
|
||||
<hc:BlendEffect.Foreground>
|
||||
<ImageBrush ImageSource="/HandyControlDemo;component/Resources/Img/f.png"/>
|
||||
</hc:BlendEffect.Foreground>
|
||||
</hc:BlendEffect>
|
||||
</Border.Effect>
|
||||
</Border>
|
||||
<Border Width="67" Height="135" Background="Transparent">
|
||||
<Border.Effect>
|
||||
<hc:BlendEffect>
|
||||
<hc:BlendEffect.Background>
|
||||
<ImageBrush ImageSource="/HandyControlDemo;component/Resources/Img/b.png"/>
|
||||
</hc:BlendEffect.Background>
|
||||
<hc:BlendEffect.Foreground>
|
||||
<ImageBrush ImageSource="/HandyControlDemo;component/Resources/Img/f.png"/>
|
||||
</hc:BlendEffect.Foreground>
|
||||
</hc:BlendEffect>
|
||||
</Border.Effect>
|
||||
</Border>
|
||||
<Border Width="67" Height="135" Background="Transparent">
|
||||
<Border.Effect>
|
||||
<hc:BlendEffect>
|
||||
<hc:BlendEffect.Background>
|
||||
<ImageBrush ImageSource="/HandyControlDemo;component/Resources/Img/b.png"/>
|
||||
</hc:BlendEffect.Background>
|
||||
<hc:BlendEffect.Foreground>
|
||||
<ImageBrush ImageSource="/HandyControlDemo;component/Resources/Img/f.png"/>
|
||||
</hc:BlendEffect.Foreground>
|
||||
</hc:BlendEffect>
|
||||
</Border.Effect>
|
||||
</Border>
|
||||
<Border Width="67" Height="135" Background="Transparent">
|
||||
<Border.Effect>
|
||||
<hc:BlendEffect>
|
||||
<hc:BlendEffect.Background>
|
||||
<ImageBrush ImageSource="/HandyControlDemo;component/Resources/Img/b.png"/>
|
||||
</hc:BlendEffect.Background>
|
||||
<hc:BlendEffect.Foreground>
|
||||
<ImageBrush ImageSource="/HandyControlDemo;component/Resources/Img/f.png"/>
|
||||
</hc:BlendEffect.Foreground>
|
||||
</hc:BlendEffect>
|
||||
</Border.Effect>
|
||||
</Border>
|
||||
<Border Width="67" Height="135" Background="Transparent">
|
||||
<Border.Effect>
|
||||
<hc:BlendEffect>
|
||||
<hc:BlendEffect.Background>
|
||||
<ImageBrush ImageSource="/HandyControlDemo;component/Resources/Img/b.png"/>
|
||||
</hc:BlendEffect.Background>
|
||||
<hc:BlendEffect.Foreground>
|
||||
<ImageBrush ImageSource="/HandyControlDemo;component/Resources/Img/f.png"/>
|
||||
</hc:BlendEffect.Foreground>
|
||||
</hc:BlendEffect>
|
||||
</Border.Effect>
|
||||
</Border>
|
||||
<Border Width="67" Height="135" Background="Transparent">
|
||||
<Border.Effect>
|
||||
<hc:BlendEffect>
|
||||
<hc:BlendEffect.Background>
|
||||
<ImageBrush ImageSource="/HandyControlDemo;component/Resources/Img/b.png"/>
|
||||
</hc:BlendEffect.Background>
|
||||
<hc:BlendEffect.Foreground>
|
||||
<ImageBrush ImageSource="/HandyControlDemo;component/Resources/Img/f.png"/>
|
||||
</hc:BlendEffect.Foreground>
|
||||
</hc:BlendEffect>
|
||||
</Border.Effect>
|
||||
</Border>
|
||||
<Border Width="67" Height="135" Background="Transparent">
|
||||
<Border.Effect>
|
||||
<hc:BlendEffect>
|
||||
<hc:BlendEffect.Background>
|
||||
<ImageBrush ImageSource="/HandyControlDemo;component/Resources/Img/b.png"/>
|
||||
</hc:BlendEffect.Background>
|
||||
<hc:BlendEffect.Foreground>
|
||||
<ImageBrush ImageSource="/HandyControlDemo;component/Resources/Img/f.png"/>
|
||||
</hc:BlendEffect.Foreground>
|
||||
</hc:BlendEffect>
|
||||
</Border.Effect>
|
||||
</Border>
|
||||
<Border Width="67" Height="135" Background="Transparent">
|
||||
<Border.Effect>
|
||||
<hc:BlendEffect>
|
||||
<hc:BlendEffect.Background>
|
||||
<ImageBrush ImageSource="/HandyControlDemo;component/Resources/Img/b.png"/>
|
||||
</hc:BlendEffect.Background>
|
||||
<hc:BlendEffect.Foreground>
|
||||
<ImageBrush ImageSource="/HandyControlDemo;component/Resources/Img/f.png"/>
|
||||
</hc:BlendEffect.Foreground>
|
||||
</hc:BlendEffect>
|
||||
</Border.Effect>
|
||||
</Border>
|
||||
<Border Width="67" Height="135" Background="Transparent">
|
||||
<Border.Effect>
|
||||
<hc:BlendEffect>
|
||||
<hc:BlendEffect.Background>
|
||||
<ImageBrush ImageSource="/HandyControlDemo;component/Resources/Img/b.png"/>
|
||||
</hc:BlendEffect.Background>
|
||||
<hc:BlendEffect.Foreground>
|
||||
<ImageBrush ImageSource="/HandyControlDemo;component/Resources/Img/f.png"/>
|
||||
</hc:BlendEffect.Foreground>
|
||||
</hc:BlendEffect>
|
||||
</Border.Effect>
|
||||
</Border>
|
||||
<Border Width="67" Height="135" Background="Transparent">
|
||||
<Border.Effect>
|
||||
<hc:BlendEffect>
|
||||
<hc:BlendEffect.Background>
|
||||
<ImageBrush ImageSource="/HandyControlDemo;component/Resources/Img/b.png"/>
|
||||
</hc:BlendEffect.Background>
|
||||
<hc:BlendEffect.Foreground>
|
||||
<ImageBrush ImageSource="/HandyControlDemo;component/Resources/Img/f.png"/>
|
||||
</hc:BlendEffect.Foreground>
|
||||
</hc:BlendEffect>
|
||||
</Border.Effect>
|
||||
</Border>
|
||||
<Border Width="67" Height="135" Background="Transparent">
|
||||
<Border.Effect>
|
||||
<hc:BlendEffect>
|
||||
<hc:BlendEffect.Background>
|
||||
<ImageBrush ImageSource="/HandyControlDemo;component/Resources/Img/b.png"/>
|
||||
</hc:BlendEffect.Background>
|
||||
<hc:BlendEffect.Foreground>
|
||||
<ImageBrush ImageSource="/HandyControlDemo;component/Resources/Img/f.png"/>
|
||||
</hc:BlendEffect.Foreground>
|
||||
</hc:BlendEffect>
|
||||
</Border.Effect>
|
||||
</Border>
|
||||
<Border Width="67" Height="135" Background="Transparent">
|
||||
<Border.Effect>
|
||||
<hc:BlendEffect>
|
||||
<hc:BlendEffect.Background>
|
||||
<ImageBrush ImageSource="/HandyControlDemo;component/Resources/Img/b.png"/>
|
||||
</hc:BlendEffect.Background>
|
||||
<hc:BlendEffect.Foreground>
|
||||
<ImageBrush ImageSource="/HandyControlDemo;component/Resources/Img/f.png"/>
|
||||
</hc:BlendEffect.Foreground>
|
||||
</hc:BlendEffect>
|
||||
</Border.Effect>
|
||||
</Border>
|
||||
<Border Width="67" Height="135" Background="Transparent">
|
||||
<Border.Effect>
|
||||
<hc:BlendEffect>
|
||||
<hc:BlendEffect.Background>
|
||||
<ImageBrush ImageSource="/HandyControlDemo;component/Resources/Img/b.png"/>
|
||||
</hc:BlendEffect.Background>
|
||||
<hc:BlendEffect.Foreground>
|
||||
<ImageBrush ImageSource="/HandyControlDemo;component/Resources/Img/f.png"/>
|
||||
</hc:BlendEffect.Foreground>
|
||||
</hc:BlendEffect>
|
||||
</Border.Effect>
|
||||
</Border>
|
||||
<Border Width="67" Height="135" Background="Transparent">
|
||||
<Border.Effect>
|
||||
<hc:BlendEffect>
|
||||
<hc:BlendEffect.Background>
|
||||
<ImageBrush ImageSource="/HandyControlDemo;component/Resources/Img/b.png"/>
|
||||
</hc:BlendEffect.Background>
|
||||
<hc:BlendEffect.Foreground>
|
||||
<ImageBrush ImageSource="/HandyControlDemo;component/Resources/Img/f.png"/>
|
||||
</hc:BlendEffect.Foreground>
|
||||
</hc:BlendEffect>
|
||||
</Border.Effect>
|
||||
</Border>
|
||||
<Border Width="67" Height="135" Background="Transparent">
|
||||
<Border.Effect>
|
||||
<hc:BlendEffect>
|
||||
<hc:BlendEffect.Background>
|
||||
<ImageBrush ImageSource="/HandyControlDemo;component/Resources/Img/b.png"/>
|
||||
</hc:BlendEffect.Background>
|
||||
<hc:BlendEffect.Foreground>
|
||||
<ImageBrush ImageSource="/HandyControlDemo;component/Resources/Img/f.png"/>
|
||||
</hc:BlendEffect.Foreground>
|
||||
</hc:BlendEffect>
|
||||
</Border.Effect>
|
||||
</Border>
|
||||
<Border Width="67" Height="135" Background="Transparent">
|
||||
<Border.Effect>
|
||||
<hc:BlendEffect>
|
||||
<hc:BlendEffect.Background>
|
||||
<ImageBrush ImageSource="/HandyControlDemo;component/Resources/Img/b.png"/>
|
||||
</hc:BlendEffect.Background>
|
||||
<hc:BlendEffect.Foreground>
|
||||
<ImageBrush ImageSource="/HandyControlDemo;component/Resources/Img/f.png"/>
|
||||
</hc:BlendEffect.Foreground>
|
||||
</hc:BlendEffect>
|
||||
</Border.Effect>
|
||||
</Border>
|
||||
<Border Width="67" Height="135" Background="Transparent">
|
||||
<Border.Effect>
|
||||
<hc:BlendEffect>
|
||||
<hc:BlendEffect.Background>
|
||||
<ImageBrush ImageSource="/HandyControlDemo;component/Resources/Img/b.png"/>
|
||||
</hc:BlendEffect.Background>
|
||||
<hc:BlendEffect.Foreground>
|
||||
<ImageBrush ImageSource="/HandyControlDemo;component/Resources/Img/f.png"/>
|
||||
</hc:BlendEffect.Foreground>
|
||||
</hc:BlendEffect>
|
||||
</Border.Effect>
|
||||
</Border>
|
||||
<Border Width="67" Height="135" Background="Transparent">
|
||||
<Border.Effect>
|
||||
<hc:BlendEffect>
|
||||
<hc:BlendEffect.Background>
|
||||
<ImageBrush ImageSource="/HandyControlDemo;component/Resources/Img/b.png"/>
|
||||
</hc:BlendEffect.Background>
|
||||
<hc:BlendEffect.Foreground>
|
||||
<ImageBrush ImageSource="/HandyControlDemo;component/Resources/Img/f.png"/>
|
||||
</hc:BlendEffect.Foreground>
|
||||
</hc:BlendEffect>
|
||||
</Border.Effect>
|
||||
</Border>
|
||||
</UniformGrid>
|
||||
</TabItem>
|
||||
</TabControl>
|
||||
</hc:TransitioningContentControl>
|
||||
</UserControl>
|
||||
@@ -68,6 +68,8 @@
|
||||
<Compile Include="$(MSBuildThisFileDirectory)Media\Animation\LinearGeometryKeyFrame.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)Media\Animation\ResolvedKeyFrameEntry.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)Media\Animation\SplineGeometryKeyFrame.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)Media\Effects\BlendEffect.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)Media\Effects\BlendEffectMode.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)Media\Effects\BrightnessEffect.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)Media\Effects\ColorComplementEffect.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)Media\Effects\ColorMatrixEffect.cs" />
|
||||
@@ -972,7 +974,10 @@
|
||||
</Page>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="$(MSBuildThisFileDirectory)Resources\Effects\BrightnessEffect.fx" />
|
||||
<None Include="$(MSBuildThisFileDirectory)Resources\Effects\ColorComplementEffect.fx" />
|
||||
<None Include="$(MSBuildThisFileDirectory)Resources\Effects\ColorMatrixEffect.fx" />
|
||||
<None Include="$(MSBuildThisFileDirectory)Resources\Effects\ContrastEffect.fx" />
|
||||
<None Include="$(MSBuildThisFileDirectory)Resources\Effects\GrayScaleEffect.fx" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
|
||||
@@ -0,0 +1,61 @@
|
||||
//reference doc : https://docs.microsoft.com/en-us/windows/win32/direct2d/blend#blending-examples
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Windows;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Media.Effects;
|
||||
|
||||
namespace HandyControl.Media.Effects
|
||||
{
|
||||
public class BlendEffect : ShaderEffect
|
||||
{
|
||||
private static readonly Dictionary<BlendEffectMode, PixelShader> ShaderDic;
|
||||
|
||||
public static readonly DependencyProperty BackgroundProperty = RegisterPixelShaderSamplerProperty("Background", typeof(BlendEffect), 0);
|
||||
|
||||
public static readonly DependencyProperty ForegroundProperty = RegisterPixelShaderSamplerProperty("Foreground", typeof(BlendEffect), 1);
|
||||
|
||||
static BlendEffect()
|
||||
{
|
||||
ShaderDic = new Dictionary<BlendEffectMode, PixelShader>();
|
||||
}
|
||||
|
||||
public BlendEffect()
|
||||
{
|
||||
if (!ShaderDic.ContainsKey(Mode))
|
||||
{
|
||||
ShaderDic[Mode] = new PixelShader
|
||||
{
|
||||
UriSource = new Uri($"pack://application:,,,/HandyControl;component/Resources/Effects/{Mode.ToString()}BlendEffect.ps")
|
||||
};
|
||||
}
|
||||
|
||||
PixelShader = ShaderDic[Mode];
|
||||
|
||||
UpdateShaderValue(BackgroundProperty);
|
||||
UpdateShaderValue(ForegroundProperty);
|
||||
}
|
||||
|
||||
public Brush Background
|
||||
{
|
||||
get => (Brush)GetValue(BackgroundProperty);
|
||||
set => SetValue(BackgroundProperty, value);
|
||||
}
|
||||
|
||||
public Brush Foreground
|
||||
{
|
||||
get => (Brush)GetValue(ForegroundProperty);
|
||||
set => SetValue(ForegroundProperty, value);
|
||||
}
|
||||
|
||||
public static readonly DependencyProperty ModeProperty = DependencyProperty.Register(
|
||||
"Mode", typeof(BlendEffectMode), typeof(BlendEffect), new PropertyMetadata(default(BlendEffectMode), PixelShaderConstantCallback(0)));
|
||||
|
||||
public BlendEffectMode Mode
|
||||
{
|
||||
get => (BlendEffectMode) GetValue(ModeProperty);
|
||||
set => SetValue(ModeProperty, value);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
namespace HandyControl.Media.Effects
|
||||
{
|
||||
public enum BlendEffectMode
|
||||
{
|
||||
Multiply,
|
||||
Screen,
|
||||
Darken,
|
||||
Lighten,
|
||||
Dissolve,
|
||||
ColorBurn,
|
||||
LinearBurn,
|
||||
DarkerColor,
|
||||
LighterColor,
|
||||
ColorDodge,
|
||||
LinearDodge,
|
||||
Overlay,
|
||||
SoftLight,
|
||||
HardLight,
|
||||
VividLight,
|
||||
LinearLight,
|
||||
PinLight,
|
||||
HardMix,
|
||||
Difference,
|
||||
Exclusion,
|
||||
Hue,
|
||||
Saturation,
|
||||
Color,
|
||||
Luminosity,
|
||||
Subtract,
|
||||
Division
|
||||
}
|
||||
}
|
||||
@@ -46,11 +46,6 @@ float4 main(float2 uv : TEXCOORD) : COLOR
|
||||
k, l, m, n,
|
||||
p, q, r, s
|
||||
};
|
||||
|
||||
float4 matrixA2 =
|
||||
{
|
||||
e, j, o, t
|
||||
};
|
||||
|
||||
return mul(matrixA1, color) + matrixA2;
|
||||
return mul(matrixA1, color) + float4( e, j, o, t );
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
sampler2D background : register(s0);
|
||||
sampler2D foreground : register(s1);
|
||||
|
||||
float4 main(float2 uv : TEXCOORD) : COLOR
|
||||
{
|
||||
float4 b = tex2D(background, uv);
|
||||
float4 f = tex2D(foreground, uv);
|
||||
float4 o = b;
|
||||
|
||||
f.rgb *= f.a;
|
||||
b.rgb *= b.a;
|
||||
o.rgb = f.rgb * b.rgb + f.rgb * (1 - b.a) + b.rgb * (1 - f.a);
|
||||
|
||||
return o;
|
||||
}
|
||||
Binary file not shown.
Reference in new issue
Block a user