Question

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

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;

Tout le monde sait comment faire?

Était-ce utile?

La solution

J'ai trouvé solution suivante: Ajouter une image comme enfant à la propriété grille Grid et set ClipToBounds = true. Et puis en changeant la marge d'image que nous pouvons définir l'image offset.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top