2008-09-21 7 views
0

Est-ce que quelqu'un sait pourquoi DropShadowBitmapEffect et EmbossBitmapEffect ne fonctionneront pas sur un TextBlock (pas textBOX) dans WPF? OuterGlow, Blur et Bevel semblent fonctionner correctement.DropShadowBitmapEffect Ne fonctionne pas sur TextBlock


La brosse de fond transparent est apparemment pas la réponse parce que vous peut obtenir une ombre portée avec une brosse de fond nul. La douceur par défaut d'un dropshadow est de 50% et si vous avez une petite police, la douceur dissipe trop l'ombre. Il semble y avoir une forte baisse autour de la douceur de 39% (à quel point l'ombre disparaît plus ou moins). Essayez de le mettre à 0 et déplacez lentement vous êtes en haut jusqu'à ce que vous trouviez un nombre qui montre toujours l'ombre.


Encore une autre remarque: la douceur est certainement un facteur, mais sachez en XAML les valeurs valides sont vraiment seulement 0 à 1, mais dans le mélange il le montre en pourcentage jusqu'à 100. Donc, si vous définissez la valeur à 100 en Xaml, il sera complètement dissipé.


La brosse de fond = solution transparente peut encore fonctionner pour l'effet de gaufrage

Répondre

2

effets Bitmap travail en examinant les pixels de post-rendu et le fonctionnement manipulation d'image standard sur eux. Cela ne devrait dépendre que de la couleur des pixels. Je me demande si leurs algorithmes ne fonctionnent pas bien sur blanc. Essayez de changer la couleur pour voir si cela a un effet - si c'est le cas, vous pouvez essayer de placer un panneau noir en dessous avec un jeu d'ombres portées dessus.

Edit: Le questionneur a trouvé la réponse

« Merci de me pointer dans la direction générale correcte Ce ne fut pas la couleur du texte ou DropShadow qui importe, ce qui est nécessaire est de faire le pinceau d'arrière-plan. sur le TextBlock le pinceau transparent (Alpha = 0) au lieu de null. "

1

Important Sidenote: vous ne devriez plus vraiment utiliser BitmapEffects. Utilisez la propriété Effect basée sur les effets ShaderModel introduits dans .net 3.5 SP1, il utilise le rendu matériel et offre de bien meilleures performances.

More Information

Questions connexes