Ich arbeite mit einigen Win2D-Effekten und den Kompositions-APIs in einer UWP-Anwendung und habe einige Probleme mit einigen der verfügbaren Effekte.Einige Win2D-Effekte funktionieren nicht mit Composition-APIs (nicht unterstützt?)
Hier ist eine Arbeitsmethode verwende ich einige Inhalte hinter einem Zielelement verschwimmen:
public static SpriteVisual GetAttachedBlur<T>(
[NotNull] this T element, float blur, int ms) where T : FrameworkElement
{
// Get the visual and the compositor
Visual visual = element.GetVisual();
Compositor compositor = visual.Compositor;
// Create the blur effect and the effect factory
GaussianBlurEffect blurEffect = new GaussianBlurEffect
{
Name = "Blur",
BlurAmount = blur,
BorderMode = EffectBorderMode.Hard,
Optimization = EffectOptimization.Balanced,
Source = new CompositionEffectSourceParameter("source")
};
CompositionEffectFactory effectFactory = compositor.CreateEffectFactory(blurEffect);
// Setup the rest of the effect
CompositionEffectBrush effectBrush = effectFactory.CreateBrush();
effectBrush.SetSourceParameter("source", compositor.CreateBackdropBrush());
// Assign the effect to a brush and display it
SpriteVisual sprite = compositor.CreateSpriteVisual();
sprite.Brush = effectBrush;
sprite.Size = new Vector2((float)element.ActualWidth, (float)element.ActualHeight);
ElementCompositionPreview.SetElementChildVisual(element, sprite);
return sprite;
}
Jetzt
, es perfekt funktioniert gut, aber wenn ich versuche, dass GaussianBlurEffect
Effekt mit zum Beispiel ersetzen ein DirectionalBlurEffect
, erhalte ich eine Ausnahme, wenn ich die CreateEffectFactory
Methode aufrufen, sagen, dass der Eingangseffekt nicht unterstützt wird.
Nun, ich looked at the documentation und es scheint, dass beide diese Effekte haben die [NoComposition]
Zuschreibung, so meine erste Frage ist:
Wenn beide die Auswirkungen nicht unterstützt werden (
[NoComposition]
Attribut), warum ist es, dass dieGaussianBlurEffect
funktioniert gut und dieDirectionalBlurEffect
nicht?
Und die zweite Frage, die ich habe:
Gibt es eine andere Art und Weise/zu nutzen gilt, dass
DirectionalBlurEffect
? Es gibt einige Win2D-Effekte, die als[NoComposition]
markiert sind, die ich gerne verwenden würde, gibt es einen Workaround dafür oder muss ich nur auf sie verzichten?
Vielen Dank für Ihre Hilfe!
Ich denke, es UNSUPPORT – lindexi
@lindexi Ja, ich auch das Attribut bemerkt habe, hast du auch gelesen die vollständige Frage? – Sergio0694
Ich meine, ich stimme dir zu. – lindexi