拉伸图像的宽度和高度

时间:2012-09-19 10:36:42

标签: c# windows-8 microsoft-metro

我可以获得Height的{​​{1}}和Width,如果Image已经拉伸了吗?

我尝试了UniformToFillWidth属性,但它们始终为Height

1 个答案:

答案 0 :(得分:4)

如果您想知道图像控件的尺寸,可以这样:

double theHeight = this.ActualHeight - img.Margin.Top - img.Margin.Bottom;
double theWidth = this.ActualWidth - img.Margin.Left - img.Margin.Right;

img是上面代码中的图像控件名称,在下面的代码中)


如果您想知道图像的实际尺寸(在拉伸之前),您可以试试这个:

BitmapSource SourceData = (BitmapSource)img.Source;
double imgWidth = SourceData.PixelWidth;
double imgHeight = SourceData.PixelHeight;

(我发现了这个here


此外,这将在调整大小后(但在统一之前)获得图像的尺寸:

double actWidth = img.ActualWidth;
double actHeight = img.ActualHeight;

因此,其中一个变量(actWidthactHeight)必须等于图像控制尺寸,而另一个变量将高于它。


请注意,如果您在Window_Loaded事件中调用它们,则第二个和第三个代码无效,因为此时未加载图像。你应该在加载完所有东西后使用它。