2010-06-28 20 views
1

J'ai l'image avec la taille et je 800x600 besoin de montrer petit fragment d'image 90x30 avec un décalage x = 12 et y 12.l'image WPF décalage

je crée une brosse pour cela, mais je ne sais pas comment faire compenser.

var source = new ImageBrush(groundSource); 
       source.Stretch = Stretch.None; 
       source.AlignmentX = AlignmentX.Left; 
       source.AlignmentY = AlignmentY.Top; 
       source.RelativeTransform = new TranslateTransform(0.5, 0); 
       var grid = new Grid(); 
       grid.ClipToBounds = true; 
       grid.Background = source; 
       grid.VerticalAlignment = System.Windows.VerticalAlignment.Top; 
       grid.HorizontalAlignment = System.Windows.HorizontalAlignment.Left; 
       grid.Margin = new System.Windows.Thickness(12, 12, 0, 0); 
       grid.Width = SpriteSize.SpriteWidht + 33; 
       grid.Height = SpriteSize.SpriteHeight; 
       grid.SnapsToDevicePixels = true; 

Quelqu'un sait comment faire cela?

Répondre

4

J'ai trouvé la solution suivante: Ajouter une image en tant qu'enfant à la grille et définir la propriété de grille ClipToBounds = true. Ensuite, en changeant la marge de l'image, nous pouvons définir le décalage de l'image.