我在我的silverlight windows phone 8页面上有一个网格系统,它可以容纳一些点击按钮上的图片。指定为150x100的单元格的大小。图像屏幕比例
我的问题是,如果原始图像的大小是1000x1500,它将在网格中被压扁,因为宽高比将会不同。有没有办法来处理这个,下面是我写的代码。请告诉我在代码中我必须做些什么。
注:我使用的是尺度变换和分配的ScaleX和scaleY为1
public resizeImage(Image img)
{
double originalHeight = 500;
double originalWidth = 1000;
double originalAspectRatio = originalWidth/originalHeight;
if (img.Width < originalWidth || img.Height < originalHeight)
{
// no change has to be done
PageScale.ScaleX = 1.0;
PageScale.ScaleY = 1.0;
}
else
{
// keeping aspect ratio the same
if (img.Width/img.Height > originalAspectRatio)
{
// taking height into consideration
PageScale.ScaleY = img.Height/originalHeight;
PageScale.ScaleX = PageScale.ScaleY;
}
else
{
//taking width into consideration
PageScale.ScaleX = img.Width/originalWidth;
PageScale.ScaleY = PageScale.ScaleX;
}
}
}