Вопрос

У меня есть изображение с размером 800x600, и мне нужно отображать небольшой фрагмент изображения 90x30 с смещением x = 12 и y 12.

Я создаю кисть для этого, но я не знаю, как сделать смещение.

 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;

Кто-нибудь знает, как это сделать?

Это было полезно?

Решение

Я нашел следующее решение: добавить изображение в виде ребенка на сетку и установить недвижимость сетки CLIPTOBOUOUNDS = TRUE. А затем путем изменения поля изображений мы можем установить смещение изображения.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top