public void Resize(double scale)
{
MipMap closestMip = null;
double newScale = 0;
double desiredSize = MipMaps[0].Width * scale;
double min = double.MaxValue;
foreach (var mip in MipMaps)
{
double temp = Math.Abs(mip.Width - desiredSize);
if (temp < min)
{
closestMip = mip;
min = temp;
}
}
newScale = desiredSize / closestMip.Width;
MipMaps[0] = ImageEngine.Resize(closestMip, newScale);
MipMaps.RemoveRange(1, NumMipMaps - 1);
}
}