0
我有一個矩形:製作的UIElement僅可見聚光燈下
<Border x:Name="Elem1" BorderThickness="2" Height="100" Width="200" BorderBrush="Red" />
並有Windows.UI.Composition。 射燈與指針togehter移動:
const float LightDistance = 20;
_compositor = Window.Current.Compositor;
_pointLight = _compositor.CreatePointLight();
_pointLight.Color = Colors.White;
_pointLight.Targets.Add(ElementCompositionPreview.GetElementVisual(Elem1));
PointerMoved += (o, e) => {
var point = e.GetCurrentPoint(this).Position;
_pointLight.Offset = new Vector3((float)point.X, (float)point.Y, LightDistance);
};
當存在超過rectagle無光,它保持黑色:
我想的矩形的其餘部分是透明的,所以只有開明的部分將是可見的
我試圖添加透明AmblientLight,但APLHA通道是我gnored。
我想這可能由SceneLightingEffect
來實現,但如何? :)
你可以使用口罩,而不是聚光燈下,如果它適合你的情況 –
我也試過這個,但沒有成功的。不是因爲它不可能我們,而是因爲,我的有限UWP的knowlegde我不知道如何創建徑向漸變面具和移動它 – Liero