easymodo / qimgv

Image viewer. Fast, easy to use. Optional video support.
GNU General Public License v3.0
2.38k stars 168 forks source link

——你好,可否改进增加:可以选择“软件窗口 自动缩放 紧紧包住 图片的长宽,”的选项,也就是“窗口的尺寸长宽 根据图片的尺寸长宽 自动缩放变化,” #497

Open gemkeeper opened 1 year ago

gemkeeper commented 1 year ago
作者朋友你好:
您的这个软件做的非常好,耗费内存极其小,切换速度非常快,非常优秀。
看得出您是非常用心研发了,对你表达感谢、赞美和钦佩!
我反映2个情况:

我的WIN7-64位操作系统,日常使用: 最新、最先进的的3种类型的.jxl(JPEG XL) .avif .webp2 以及.webp 格式图片, 和经典的.png .jpg .gif 三种图片格式, 我把所有类型的图片 关联默认使用qimgv 1.0.3软件 打开。

1, 可否增加一个 可以自由选择的选项:当鼠标滚轮滚动 缩放图片时,qimgv窗口的尺寸长宽,随着图片尺寸长宽的缩放,也一起自动缩放, qimgv窗口的长宽 刚好 紧紧包裹住/等于 图片缩放显示的长宽(尤其是宽度)(但是不超出 电脑屏幕的长宽),而不是一直保持固定不变的长宽。 让用户可以自由选择设置。

因为日常使用的大多数时候,用户需要 可以 快速切换到这3种目标模式: ——这个目标 最好能够 自由设置,支持 能够 采用“双击鼠标左键”的方式,更加 方便、快速地实现 切换: (A:图片100%显示,超大尺寸图片会超出电脑屏幕的尺寸,所以这时候,电脑屏幕只能显示图片的局部,) (B:图片尺寸的高度100%显示,达到电脑屏幕尺寸的高度的极限,) (C:图片尺寸的宽度100显示,达到电脑屏幕尺寸的宽度的极限,) ——但是在上面这3种模式,qimgv都是以窗口模式呈现,并且窗口尺寸的长宽,等于图片缩放显示的长宽,就是窗口长宽紧紧包裹住图片显示的长宽。

最后才是第4种模式:D:全屏模式,窗口消失,图片全屏显示,超过图片尺寸长宽的地方,是黑色屏幕。 —————————————— 2, 正常来说,图片浏览软件,在设置选项里,会有一个 可以选择“软件窗口 自动缩放 紧紧包住 图片的长宽,”的选项,也就是“窗口的尺寸长宽 根据图片的尺寸长宽 自动缩放变化,”的选项, qimgv 1.0.3的设置选项里,有个类似的功能: 勾选了 方框 "hutomatic window resire,Match di splayed content"之后,qimgv的窗口长宽,可以自动缩放 包裹住图片尺寸的显示长宽(但是窗口会缩小到 电脑屏幕的极限长宽之内),

——但是,这种模式里,按键盘的左右键,切换同一个文件夹里的其他图片时,qimgv窗口会 自动回到电脑屏幕的中间, 可否 增加一个 选项:让用户自由选择3种坐标模式: 在切换图片的时候, A: qimgv窗口 自动回到电脑屏幕的坐标中间。 B: qimgv窗口保持在 原先手动拖动到的坐标,但是,新打开的qimgv窗口 在 屏幕中间坐标 出现。 C: qimgv窗口保持在 原先手动拖动到的坐标,并且,新打开的qimgv窗口 保持 在上一次qimgv窗口关闭时候 的坐标 出现。 ——————————————— 祝愿您愉快 和顺利! 谢谢您为世界带来这么好的软件!

zymelaii commented 1 year ago
作者朋友你好:
您的这个软件做的非常好,耗费内存极其小,切换速度非常快,非常优秀。
看得出您是非常用心研发了,对你表达感谢、赞美和钦佩!
我反映2个情况:

我的WIN7-64位操作系统,日常使用: 最新、最先进的的3种类型的.jxl(JPEG XL) .avif .webp2 以及.webp 格式图片, 和经典的.png .jpg .gif 三种图片格式, 我把所有类型的图片 关联默认使用qimgv 1.0.3软件 打开。

1, 可否增加一个 可以自由选择的选项:当鼠标滚轮滚动 缩放图片时,qimgv窗口的尺寸长宽,随着图片尺寸长宽的缩放,也一起自动缩放, qimgv窗口的长宽 刚好 紧紧包裹住/等于 图片缩放显示的长宽(尤其是宽度)(但是不超出 电脑屏幕的长宽),而不是一直保持固定不变的长宽。 让用户可以自由选择设置。

因为日常使用的大多数时候,用户需要 可以 快速切换到这3种目标模式: ——这个目标 最好能够 自由设置,支持 能够 采用“双击鼠标左键”的方式,更加 方便、快速地实现 切换: (A:图片100%显示,超大尺寸图片会超出电脑屏幕的尺寸,所以这时候,电脑屏幕只能显示图片的局部,) (B:图片尺寸的高度100%显示,达到电脑屏幕尺寸的高度的极限,) (C:图片尺寸的宽度100显示,达到电脑屏幕尺寸的宽度的极限,) ——但是在上面这3种模式,qimgv都是以窗口模式呈现,并且窗口尺寸的长宽,等于图片缩放显示的长宽,就是窗口长宽紧紧包裹住图片显示的长宽。

最后才是第4种模式:D:全屏模式,窗口消失,图片全屏显示,超过图片尺寸长宽的地方,是黑色屏幕。 —————————————— 2, 正常来说,图片浏览软件,在设置选项里,会有一个 可以选择“软件窗口 自动缩放 紧紧包住 图片的长宽,”的选项,也就是“窗口的尺寸长宽 根据图片的尺寸长宽 自动缩放变化,”的选项, qimgv 1.0.3的设置选项里,有个类似的功能: 勾选了 方框 "hutomatic window resire,Match di splayed content"之后,qimgv的窗口长宽,可以自动缩放 包裹住图片尺寸的显示长宽(但是窗口会缩小到 电脑屏幕的极限长宽之内),

——但是,这种模式里,按键盘的左右键,切换同一个文件夹里的其他图片时,qimgv窗口会 自动回到电脑屏幕的中间, 可否 增加一个 选项:让用户自由选择3种坐标模式: 在切换图片的时候, A: qimgv窗口 自动回到电脑屏幕的坐标中间。 B: qimgv窗口保持在 原先手动拖动到的坐标,但是,新打开的qimgv窗口 在 屏幕中间坐标 出现。 C: qimgv窗口保持在 原先手动拖动到的坐标,并且,新打开的qimgv窗口 保持 在上一次qimgv窗口关闭时候 的坐标 出现。 ——————————————— 祝愿您愉快 和顺利! 谢谢您为世界带来这么好的软件!

第一个功能有点过于抽象了,正常来说这样的功能一般会出现在贴图上,或者说类似功能的无框窗口;在 qimgv 的有框窗体上实现窗体与容器图片同步缩放或许有些反常,毕竟现在整体上的逻辑是屏幕大小约束窗体大小,窗体大小约束图片大小(图片大小提示窗体大小但并不给出约束)。

为了实现这个功能,会出现图片大小反向约束窗体大小的逻辑,可以额外增加“锁定”的逻辑处理这个需求,但看上去似乎并不能简单的集成到现有的 fitWindow/fitWIdth/fitNormal 逻辑中(硬要集成的话,或许锁定为 fitNormal 是最合适的)

对于第二个需求,可以自行在 Settings 中添加相关配置项,并为 qimgv/gui/mainwindow.cpp MW::preShowResize 中增添位置变换逻辑,该方法会在图片显示时调用,用于调整窗体的 geometry 属性。

preShowResize 仅在配置项 autoResizeWindow (即 Automatic window resize)启用时生效。