0

当我为图像创建 PREVIEW HANDlER 时遇到问题。问题是当我在预览窗格上有照片时,它不会自行调整大小以保持纵横比,所以我想编写一个代码,以便照片将自行调整大小以保持图像的纵横比。我还必须记住,当我使用我的算法调整图像大小时,它应该保持纵横比,并且图像应该在预览窗格中具有可能的最大尺寸(我的意思是不应该有任何其他可能有图像的算法预览更大尺寸的图像,然后我们的算法获得的图像也保持纵横比)。

我们必须记住,预览窗格的高度是恒定因素,因此我们必须只处理不断变化的宽度(我的意思是根据不断变化的宽度,我们必须保持图像高度和宽度的纵横比)。任何帮助正在开发算法表示赞赏。

4

1 回答 1

0
  • 我将首先明确定义这两个比率。

    ImageRatio = WidthOfImage / HeightOfImage

    WindowRatio = WidthOfPreviewPane / HeightOfPreviewPane.

  • 其次,您可以再次尝试使用 Windows 资源管理器。当WindowRatio小于ImageRatio并且垂直拖动窗格时,预览窗格的高度也会发生变化。

    在此处输入图像描述

  • 最后,你可能会得到ActualWidthOfImage如下ActualHeightOfImage

    if (WindowRatio > ImageRatio)
    {
        ActualHeightOfImage = HeightOfPreviewPane;
        ActualWidthOfImage = ActualHeightOfImage * ImageRatio;
    }
    else
    {
        ActualWidthOfImage = WidthOfPreviewPane;
        ActualHeightOfImage = ActualWidthOfImage / ImageRatio;
    }
    

我是否正确理解您的问题?如果您还有其他问题,我愿意为您提供帮助。

于 2013-07-19T11:37:43.180 回答