示例#1
0
        public static void PositionRaster(UIElement renderedGeometry, BoundingBox boundingBox, IReadOnlyViewport viewport)
        {
            UpdateRenderTransform(renderedGeometry, viewport);

            // since the render transform will take care of the rotation, calculate top-left using unrotated viewport
            var topLeft          = viewport.WorldToScreenUnrotated(boundingBox.TopLeft);
            var rectWidthPixels  = boundingBox.Width / viewport.Resolution;
            var rectHeightPixels = boundingBox.Height / viewport.Resolution;

            ((XamlMedia.RectangleGeometry)((XamlShapes.Path)renderedGeometry).Data).Rect =
                RoundToPixel(new Rect(topLeft.X, topLeft.Y, rectWidthPixels, rectHeightPixels));
        }