<Grid>
<Image x:Name="BackgroundImage" Source="/Assets/background.png" />
<Rectangle x:Name="ClippingRect" Margin="50" Fill="#30f0" />
</Grid>
알파 마스크 또는 클리핑 마스크를 적용하여 사각형 이외의 모든 부분이 흐리게 보이게하려면 어떻게해야합니까? GraphicsEffect-> EffectFactory->하여 브러쉬> SpriteVisualCompositionBrush에 마스크를 적용하는 방법
var graphicsEffect = new BlendEffect
{
Mode = BlendEffectMode.Multiply,
Background = new ColorSourceEffect
{
Name = "Tint",
Color = Windows.UI.Color.FromArgb(50,0,255,0),
},
Foreground = new GaussianBlurEffect()
{
Name = "Blur",
Source = new CompositionEffectSourceParameter("Backdrop"),
BlurAmount = (float)20,
BorderMode = EffectBorderMode.Hard,
}
};
var blurEffectFactory = _compositor.CreateEffectFactory(graphicsEffect,
new[] { "Blur.BlurAmount", "Tint.Color" });
var _brush = blurEffectFactory.CreateBrush();
_brush.SetSourceParameter("Backdrop", _compositor.CreateBackdropBrush());
var blurSprite = _compositor.CreateSpriteVisual();
blurSprite.Size = new Vector2((float)BackgroundImage.ActualWidth, (float)BackgroundImage.ActualHeight);
blurSprite.Brush = _brush;
ElementCompositionPreview.SetElementChildVisual(BackgroundImage, blurSprite);
예상 결과를 스크린 샷으로 제공해 주실 수 있습니까? –
나보다 WPF에 대해 잘 알고있는 사람이 솔루션을 사용하지 못하게하면 전체 배경이 흐리게 보이게 할 수 있으며 그 위에 이미지가 보이지 않게 스 니펫을 덧붙일 수 있습니까? – wablab
- GDI + 도구와 비트 맵을 현재 픽셀로 수정하려고합니다. – Tatranskymedved