C# 如何在图像控件上调整图像大小?

C# 如何在图像控件上调整图像大小?,c#,.net,xaml,win-universal-app,C#,.net,Xaml,Win Universal App,我正在尝试使用以下命令调整(XAML)上的图像大小: 但是我得到了一个错误: 无法强制转换“Windows.UI.Xaml.Media.MatrixTransform”类型的对象 键入“Windows.UI.Xaml.Media.ScaleTransform” 那么如何调整其大小(不使用拉伸属性)?将新的ScaleTransform分配给渲染转换属性一次: image.RenderTransform = new ScaleTransform(); 现在,您可以稍后通过 var t = (Sca

我正在尝试使用以下命令调整(XAML)上的图像大小:

但是我得到了一个错误:

无法强制转换“Windows.UI.Xaml.Media.MatrixTransform”类型的对象 键入“Windows.UI.Xaml.Media.ScaleTransform”


那么如何调整其大小(不使用
拉伸
属性)?

将新的ScaleTransform分配给
渲染转换
属性一次:

image.RenderTransform = new ScaleTransform();
现在,您可以稍后通过

var t = (ScaleTransform)image.RenderTransform

将新的ScaleTransform分配给
RenderTransform
属性一次:

image.RenderTransform = new ScaleTransform();
现在,您可以稍后通过

var t = (ScaleTransform)image.RenderTransform

现有RenderTransform的类型为MatrixTransform,无法转换为ScaleTransform

您可以使用新的ScaleTransform替换现有的MatrixTransform:

image.RenderTransform = new ScaleTransform(2, 2);
或者,您可以使用所需的比例更新现有的MatrixTransform:

(image.RenderTransform as MatrixTransform).Matrix = new MatrixTransform(2, 0, 0, 2, 0, 0);

现有RenderTransform的类型为MatrixTransform,无法转换为ScaleTransform

您可以使用新的ScaleTransform替换现有的MatrixTransform:

image.RenderTransform = new ScaleTransform(2, 2);
或者,您可以使用所需的比例更新现有的MatrixTransform:

(image.RenderTransform as MatrixTransform).Matrix = new MatrixTransform(2, 0, 0, 2, 0, 0);

谢谢有没有办法获得图像的大小(而不是控件的大小)?不知道你的意思。您正在将图像控件的源属性设置为某些内容,例如具有宽度和高度属性的位图图像。我正在将
源属性设置为文件的路径。我假设该文件被读取并存储在某个位图中的某个位置。有没有办法在代码中获取它?在代码隐藏中获取源属性。它应该是BitmapImage(因此您可以将其强制转换为BitmapImage类型),它具有PixelWidth和PixelHeight属性。谢谢!有没有办法获得图像的大小(而不是控件的大小)?不知道你的意思。您正在将图像控件的源属性设置为某些内容,例如具有宽度和高度属性的位图图像。我正在将
源属性设置为文件的路径。我假设该文件被读取并存储在某个位图中的某个位置。有没有办法在代码中获取它?在代码隐藏中获取源属性。它应该是BitmapImage(因此您可以将其强制转换为BitmapImage类型),它具有PixelWidth和PixelHeight属性。谢谢。我现在更明白了,谢谢。我现在更明白了。什么是“通用Windows图像”?@DaveInCaz我指的是在UWP图像控件上显示的图像。现在编辑并包含了文档链接。什么是“通用Windows图像”?@DaveInCaz我指的是显示在UWP图像控件上的图像。现已编辑,并包含指向文档的链接。