Средство просмотра фотографий Windows не может перемещаться между изображениями при просмотре в реальном размере

Средство просмотра фотографий Windows не может перемещаться между изображениями при просмотре в реальном размере

У меня есть папка с изображениями, по которым я хочу иметь возможность перемещаться в Windows Photo Viewer. Эти изображения большие и не полностью помещаются на моем экране в реальном размере.

Если я открываю любое изображение в папке, 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. В качестве бонуса некоторые просмотрщики изображений позволяют открывать изображения в полном разрешении.

Ваше здоровье!

Связанный контент