以实际尺寸查看时,Windows 照片查看器无法在图像之间导航

以实际尺寸查看时,Windows 照片查看器无法在图像之间导航

我有一个文件夹,里面有图片,我想在 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

这是最简单的解决方案:

  1. 您没有被强迫使用 Windows Viewer(希望如此)。
  2. 使用不同的查看器,例如 ImageGlass 或 IrfanView 或任何其他查看器
  3. 根据您的喜好自定义键盘快捷键。
  4. 作为奖励,一些图像查看器允许您以全分辨率打开图像。

干杯!

相关内容