1

800x600 の画像があり、オフセット x=12 と y 12 で 90x30 のサムネイルを表示します。

ブラシを作成しましたが、オフセットを適用するのに苦労しています。

 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;

提案をいただければ幸いです。

4

1 に答える 1

4

私はハッキーな解決策を見つけました:

  • 画像を子として Grid に追加できます。
  • グリッド属性を設定する必要があります: ClipToBounds=true。
  • 次に、画像マージンを変更してオフセットを制御できます。
于 2010-06-28T11:51:04.257 に答える