2014-06-20 2 views
0

J'aimerais savoir s'il existe un moyen d'ajouter une bordure à une image. Je veux quelque chose comme l'effet "Contour" dans Photoshop lorsque la position est définie à l'intérieur, c'est-à-dire qu'il doit être peint sur l'image. C'est possible?WPF: Ajouter une bordure à l'intérieur d'un élément

Merci.

Répondre

3

Vous pouvez placer la frontière au-dessus de l'image:

<Grid> 
<Image/> 
<Border/> 
</Grid> 

Si vous avez défini un CornerRadius, et que vous voulez cacher la Image dans les coins, c'est plus compliqué, mais vous pouvez définir un autre presque même Border que le OpacityMask à votre Image:

<Grid> 
    <!-- I used Rectangle instead of Image for the example --> 
    <Rectangle Width="50" Height="50" Fill="Red"> 
     <Rectangle.OpacityMask> 
      <VisualBrush> 
       <VisualBrush.Visual> 
        <Border Width="50" Height="50" Background="Black" 
          CornerRadius="10"/> 
       </VisualBrush.Visual> 
      </VisualBrush> 
     </Rectangle.OpacityMask> 
    </Rectangle> 
</Grid> 
+0

Il fonctionne mais si je mets un rayon d'angle les coins « pointus » de l'image sont visibles au-delà de la frontière ... – Marco

+1

j'ai ajouté une astuce pour cacher l'image au-delà de coins . – franssu

1

Oui vous pourriez faire une multicouche approche!

<Grid> 
    <Image /> 
    <Border horizontalAlignment="Stretch" verticalAlignment="Stretch" /> 
</Grid> 

Rappelez les attributs que vous devez utiliser, ceci est juste une version légère!

2

C'est facile, je pense que

<Grid> 
    <Image /> 
    <Border/> 
</Grid> 
+0

S'il vous plaît lire les réponses des autres avant d'envoyer le vôtre .. – franssu

+0

hhh Ok bro la prochaine fois –

Questions connexes