预览窗格中照片的宽高比,其中高度是常量,只有宽度不同

时间:2013-07-19 09:18:47

标签: c++ algorithm winapi aspect-ratio preview-pane

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

我们必须记住,预览窗格的高度是常数因素,所以我们必须只处理变化的宽度(我的意思是根据变化的宽度我们必须保持高度和宽度的宽高比图片)。 任何帮助正在开发algorthim表示赞赏。

1 个答案:

答案 0 :(得分:0)

  • 我会先明确定义两个比率。

    ImageRatio = WidthOfImage / HeightOfImage

    WindowRatio = WidthOfPreviewPane / HeightOfPreviewPane

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

    enter image description here

  • 最后,您可以获得ActualWidthOfImageActualHeightOfImage,如下所示:

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

我理解你的问题了吗?如果你有进一步的问题,我想帮助你。