您如何确定屏幕上的实际尺寸?

问题描述

| 在具有缩放功能的wpf控件中,我根据MouseWheelEventArgs计算如何缩放绘图画布以实现缩放效果
Point mouse = e.GetPosition(myCanvas);
Matrix m = myCanvas.RenderTransform.Value;

if (e.Delta > 0)
{
    f = 1.1;
}
else
{
    f = 1.0 / 1.1;
}

m.ScaleAtPrepend(f,f,mouse.X,mouse.Y);
myCanvas.RenderTransform = new MatrixTransform(m);
我想知道画布上一个圆圈的实际尺寸。但是,Width,ActualWidth等在放大和缩小(16.0)时保持不变。您如何确定(计算?)用户在屏幕上实际看到的圆圈的大小?     

解决方法

        MatrixTransform为此具有方法TransformBounds。您将其与图像的原始边框一起送入(我认为在您的情况下,0,0,width,height可以),它将返回您生成的边框。