根据图像的宽度和高度改变方向
本文关键字:高度 改变方向 图像 | 更新日期: 2023-09-27 17:53:07
我有几个图像正在显示,现在有一些图像的图像的宽度大于图像的高度。
说:image.GetWidth() > image.GetHeight();
display the image in landscape mode,
else
display the image in portrait mode.
我已经搜索过了,没有找到任何可以帮助我解决这个问题的资源。
如有任何帮助,不胜感激。
请不要告诉我我在WP8上。
编辑
Grid grid = new Grid();
grid.VerticalAlignment = VerticalAlignment.Center;
grid.HorizontalAlignment = HorizontalAlignment.Center;
grid.Height = height; //set height
grid.Width = width; //set width
grid.Background = new SolidColorBrush(Colors.White);
Image img = new Image();
img.VerticalAlignment = VerticalAlignment.Center;
img.HorizontalAlignment = HorizontalAlignment.Center;
img.Source = source;
试试这个,首先给图片添加复合变换
<Image Name="image" HorizontalAlignment="Center" VerticalAlignment="Center" Stretch="Uniform" RenderTransformOrigin="0.5,0.5">
<Image.RenderTransform>
<CompositeTransform x:Name="compositeTransform"/>
</Image.RenderTransform>
</Image>
然后检查图像的高度宽度(希望你有高度宽度),并根据高度宽度设置复合变换旋转。根据您的要求使用-90度或+90度。
image.Height = 300;
image.Width = 400;
if (image.Height > image.Width)
{
compositeTransform.Rotation = 0.0;
}
else
{
compositeTransform.Rotation = 90.00;
}
image.Source =(ImageSource) new ImageSourceConverter().ConvertFromString("2011-Chrysler-300-Model-09-1024x1280.jpg");
For Code Behind首先添加复合变换,然后设置为image
CompositeTransform transform = new CompositeTransform();
transform.CenterX = 0.5;
transform.CenterY = 0.5;
image.RenderTransform = transform;
然后检查图像的高度宽度(希望你有高度宽度),并根据高度宽度设置复合变换旋转。根据您的要求使用-90度或+90度。
image.Height = 300;
image.Width = 400;
if (image.Height > image.Width)
{
transform.Rotation = 0.0;
}
else
{
transform.Rotation = 90.00;
}
image.Source =(ImageSource) new ImageSourceConverter().ConvertFromString("2011-Chrysler-300-Model-09-1024x1280.jpg");
获取图像的宽度和高度,
double height = image1.ActualHeight;
double width = image1.ActualWidth;