如何根据图像的高度计算比例宽度 ?
我的意思是我们只知道图像高度。
string pathToImage = System.IO.Path.Combine(Settings.ContentFolderPath, file);
Image image = new Image();
BitmapImage src = new BitmapImage();
src.BeginInit();
src.UriSource = new Uri(pathToImage, UriKind.Absolute);
src.EndInit();
image.Source = src;
image.Stretch = Stretch.Uniform;
image.Height = canvas1.Height;
image.Width = ???;
谢谢!
更新(1)
感谢所有帮助过我的人。
请愚蠢的人不要投票......
更新(2)
解决方案:
string pathToImage = System.IO.Path.Combine(Settings.ContentFolderPath, file);
Image image = new Image();
BitmapImage src = new BitmapImage();
src.BeginInit();
src.UriSource = new Uri(pathToImage, UriKind.Absolute);
src.EndInit();
double ratio = src.Width / src.Height;
image.Source = src;
image.Stretch = Stretch.Uniform;
image.Height = canvas1.Height;
image.Width = canvas1.Height * ratio;
答案 0 :(得分:22)
已知高度和宽度:
var ratio = image.Height / image.Width;
已知身高和比例:
var width = image.Height / ratio;
已知宽度和比例:
var height = image.Width * ratio;
你需要知道三个中的两个来计算另一个。
答案 1 :(得分:6)
如果不知道图像的原始宽度和高度,或原始图像的宽高比(也称为高宽比),则无法保持原始图像的宽高比。