我有一个文件夹,里面有图片,我想在 Windows 照片查看器中浏览它们。这些图片很大,无法以实际尺寸完全显示在屏幕上。
如果我打开文件夹中的任何图像,Photo Viewer 都会将其缩小以适合显示,并在两侧显示后退/前进箭头以供导航。我可以单击箭头或使用键盘上的左右箭头键进行导航 - 到目前为止一切顺利。
问题是,如果我右键单击图像并选择“查看实际尺寸”,导航箭头就会消失。它们不只是被隐藏了,而是真的消失了——甚至左右箭头键都不起作用了。如果我再次右键单击并返回“缩放以适合”,那么箭头就会恢复,键盘箭头键也会再次起作用。
换句话说,如果我想以全尺寸浏览一个图像文件夹,我必须从“缩放以适合”(初始视图)切换到“查看实际尺寸”,然后再切换回“缩放以适合”以使导航箭头重新出现,对于每个图像!
我无法想象为什么这是故意的或可取的。真的没有办法简单地浏览全尺寸图像文件夹吗?
答案1
这真是一个令人烦恼的问题。没有解决方案,但我可以创建一个变通方法:我使用 powershell 脚本以自动化方式完成许多必须手动执行的步骤。例如:按“向右箭头”:首先按 esc,然后按向右箭头,然后放大,然后向上滚动。参见:
#Run this command line on a command prompt, powershell 7 required. Replace -File param with the path of the file
#pwsh -ExecutionPolicy Bypass -File C:\Workspace\repos\test2\pdf-utilities\sendkeys.ps1 -WindowTitle Archie
param ([Parameter(Mandatory=$true)][string]$WindowTitle)
[System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms") | Out-Null
$SendKeys = [System.Windows.Forms.SendKeys]
$Interaction = [Microsoft.VisualBasic.Interaction]
while ($true) {
$key = [System.Console]::ReadKey($true).key
if ($key -eq 'e') {
Exit
}
$Interaction::AppActivate($WindowTitle)
Start-Sleep 0.1
if ($key -eq 'LeftArrow' -Or $key -eq 'RightArrow') {
$SendKeys::SendWait("{ESC}")
$SendKeys::SendWait($key -eq 'LeftArrow' ? "{LEFT}" : "{RIGHT}")
$key = 'x'
}
if ($key -eq 'x') {
$SendKeys::SendWait("^=")
$SendKeys::SendWait("^=")
$SendKeys::SendWait("^=")
$SendKeys::SendWait("^=")
$SendKeys::SendWait("^=")
$SendKeys::SendWait("^=")
$key = 'UpArrow'
}
if ($key -eq 'UpArrow' -Or $key -eq 'DownArrow') {
$arrow = $key -eq 'UpArrow' ? 'UP' : 'DOWN'
$SendKeys::SendWait("{$arrow}")
$SendKeys::SendWait("{$arrow}")
$SendKeys::SendWait("{$arrow}")
$SendKeys::SendWait("{$arrow}")
$SendKeys::SendWait("{$arrow}")
$SendKeys::SendWait("{$arrow}")
$SendKeys::SendWait("{$arrow}")
$SendKeys::SendWait("{$arrow}")
$SendKeys::SendWait("{$arrow}")
$SendKeys::SendWait("{$arrow}")
$SendKeys::SendWait("{$arrow}")
$SendKeys::SendWait("{$arrow}")
$SendKeys::SendWait("{$arrow}")
$SendKeys::SendWait("{$arrow}")
$SendKeys::SendWait("{$arrow}")
$SendKeys::SendWait("{$arrow}")
$SendKeys::SendWait("{$arrow}")
$SendKeys::SendWait("{$arrow}")
$SendKeys::SendWait("{$arrow}")
$SendKeys::SendWait("{$arrow}")
}
if ($key -eq 'PageUp' -Or $key -eq 'PageDown') {
$arrow = $key -eq 'PageUp' ? 'UP' : 'DOWN'
$SendKeys::SendWait("{$arrow}")
$SendKeys::SendWait("{$arrow}")
$SendKeys::SendWait("{$arrow}")
$SendKeys::SendWait("{$arrow}")
}
$SendKeys::Flush()
$Interaction::AppActivate('Command')
}
答案2
这是最简单的解决方案:
- 您没有被强迫使用 Windows Viewer(希望如此)。
- 使用不同的查看器,例如 ImageGlass 或 IrfanView 或任何其他查看器
- 根据您的喜好自定义键盘快捷键。
- 作为奖励,一些图像查看器允许您以全分辨率打开图像。
干杯!