LuaPicture — макрос для быстрого просмотра картинок

Здесь выкладываются готовые к использованию макросы и скрипты.
User avatar
zg
zero-gravity
Posts: 6016
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

LuaPicture — макрос для быстрого просмотра картинок

Post by zg »

Сам макрос тут.
для его работы нужен фар 3.0.3591+ и luamacro 3.0.212+.
смотрит всё, что умеет gdi+.
для гифов фиксированная задержка между кадрами 100мс.
для просмотра картинки надо нажать ctrlq в режиме панелей.
выглядит это примерно так:
Attachments
picture.png
picture.png (100.07 KiB) Viewed 88580 times
Last edited by HaRT on Sun 24 May, 2020 13:08, edited 1 time in total.
Reason: Добавил LuaPicture в Заголовок Темы
Mercer
Posts: 3
Joined: Fri 22 Mar, 2019 02:19

LuaPicture — макрос для быстрого просмотра картинок

Post by Mercer »

Latest post of the previous page:

Last edited by HaRT on Fri 08 Oct, 2021 22:33, edited 1 time in total.
Reason: Спрятан офтопик
User avatar
HaRT
Moderator
Posts: 10823
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

LuaPicture — макрос для быстрого просмотра картинок

Post by HaRT »

DrKnS wrote: Fri 08 Oct, 2021 19:33 сделал рендер картинок консолью
Идея с половинными символами довольно изящная. Но вот проигрывание анимаций и автоповорот картинки по EXIF, увы, потеряны.
Ну и заодно не подскажете ли, как запустить консоль с поддержкой TrueColor? А то в 16-цветном режиме смотреть картинки совсем грустно.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

LuaPicture — макрос для быстрого просмотра картинок

Post by DrKnS »

HaRT wrote: Sat 09 Oct, 2021 00:24 как запустить консоль с поддержкой TrueColor?
Для Windows 10 и новее: Interface settings - [x] Use Virtual Terminal for rendering
Для всего остального: Conemu.
User avatar
HaRT
Moderator
Posts: 10823
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

LuaPicture — макрос для быстрого просмотра картинок

Post by HaRT »

DrKnS wrote: Fri 08 Oct, 2021 20:51 чуть менее криво и чуть больше пикселей
Есть ли смысл рапортовать привнесённые баги? Например, картинка далеко не всегда вписывается в панель: часто либо один край существенно отрезается, либо и сбоку, и сверху чёрный фон. Если надо, выложу примеры.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

LuaPicture — макрос для быстрого просмотра картинок

Post by DrKnS »

HaRT wrote: Sat 09 Oct, 2021 16:23 Если надо, выложу примеры.
Я видел, да. Gdi почему-то некоторые картинки резайзит не в указанный размер, а +-лапоть, может как-то иначе надо.
Есть ли смысл рапортовать привнесённые баги?
Зачем? Только не говорите, что вы нашли применение этому извращению!
User avatar
HaRT
Moderator
Posts: 10823
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

LuaPicture — макрос для быстрого просмотра картинок

Post by HaRT »

DrKnS wrote: Sat 09 Oct, 2021 17:36 Только не говорите, что вы нашли применение этому извращению!
Ну, как обычно, SSH через dial-up через I2P и 3 VPN'а из отдалённого района Китая, надо срочно из 1000 картинок на сервере найти ту самую, иначе мы все умрём!!1
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

LuaPicture — макрос для быстрого просмотра картинок

Post by DrKnS »

Кстати, это вроде бы единственное, что на сегодня работает в Windows Terminal :ha:
User avatar
zg
zero-gravity
Posts: 6016
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

LuaPicture — макрос для быстрого просмотра картинок

Post by zg »

HaRT wrote: Sat 09 Oct, 2021 00:24Но вот проигрывание анимаций и автоповорот картинки по EXIF, увы, потеряны.
добавил в основную ветку. можно включить в настройках, либо переключить при просмотре по f3. анимации и автоповорот работают, картинки в окно влезают. рапортовать баги смысл имеет.
User avatar
HaRT
Moderator
Posts: 10823
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

LuaPicture — макрос для быстрого просмотра картинок

Post by HaRT »

zg wrote: Wed 03 Aug, 2022 20:02 добавил в основную ветку
Круто, спасибо!
zg wrote: Wed 03 Aug, 2022 20:02 переключить при просмотре по f3
Удобно. Но почему именно F3? Ведь в QuickView за альтернативное представление традиционно отвечает F4. Может, и тут сделать единообразно тому? (Да, я могу сделать это у себя, но хочется-то из коробки.)
zg wrote: Wed 03 Aug, 2022 20:02 картинки в окно влезают
Отдельное спасибо за то, что, когда исходная картинка меньше доступного размера панели, текстовая старается использовать пространство по максимуму.
zg wrote: Wed 03 Aug, 2022 20:02 рапортовать баги смысл имеет
Обнаружилась некрасивость (ошибка?) при текстовом показе картинок: пропорции картинки меняются заметно больше, чем это продиктовано соотношением ширины и высоты знакоместа. Это особенно заметно при переключении текст/графика туда-сюда для картинок, которые при графическом показе уменьшаются, чтобы вписаться в панель. Примеры картинок, если надо, выложу. Если вдруг это влияет, у меня Windows 10, в Фаре шрифт Consolas 20, а панели занимают примерно три четверти высоты окна.

И предложение: если Фар запущен в безGUIшном сеансе (например, по SSH), сразу активировать текстовый просмотр независимо от настройки. Хотя с цветами там будет, наверно, полная беда.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
zg
zero-gravity
Posts: 6016
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

LuaPicture — макрос для быстрого просмотра картинок

Post by zg »

HaRT wrote: Wed 03 Aug, 2022 23:00Удобно. Но почему именно F3? Ведь в QuickView за альтернативное представление традиционно отвечает F4. Может, и тут сделать единообразно тому? (Да, я могу сделать это у себя, но хочется-то из коробки.)
палец указательный у меня там. в следующем обновлении поменяю.
HaRT wrote: Wed 03 Aug, 2022 23:00Обнаружилась некрасивость (ошибка?) при текстовом показе картинок: пропорции картинки меняются заметно больше, чем это продиктовано соотношением ширины и высоты знакоместа. Это особенно заметно при переключении текст/графика туда-сюда для картинок, которые при графическом показе уменьшаются, чтобы вписаться в панель. Примеры картинок, если надо, выложу.
примеры нужны.
HaRT wrote: Wed 03 Aug, 2022 23:00И предложение: если Фар запущен в безGUIшном сеансе (например, по SSH), сразу активировать текстовый просмотр независимо от настройки. Хотя с цветами там будет, наверно, полная беда.
сходу не нашёл, как определить, если подскажете — будет быстрее.
User avatar
HaRT
Moderator
Posts: 10823
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

LuaPicture — макрос для быстрого просмотра картинок

Post by HaRT »

zg wrote: Wed 03 Aug, 2022 23:55 в следующем обновлении поменяю
Спасибо
zg wrote: Wed 03 Aug, 2022 23:55примеры нужны
В приложенном архиве 2 фотографии: горизонтальная, которая распухает вверх и вниз, и вертикальная, которая сжимается с боков. Ошибка воспроизводится и при размере окна 80*25 с полной высотой панелей.
zg wrote: Wed 03 Aug, 2022 23:55 сходу не нашёл, как определить, если подскажете — будет быстрее
Постараюсь на днях посмотреть. Интересно, а far.AdvControl(F.ACTL_GETFARHWND) под SSH вообще что-то осмысленное возвращает? Если нет, то можно было бы по этому признаку отличать.
Attachments
AspectRatio.7z
Тестовые картинки для воспроизведения ошибки с пропорциями при текстовом просмотре
(484.7 KiB) Downloaded 63 times
Last edited by HaRT on Thu 04 Aug, 2022 00:44, edited 1 time in total.
Reason: Исправлено предложение по проверке наличия GUI
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
zg
zero-gravity
Posts: 6016
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

LuaPicture — макрос для быстрого просмотра картинок

Post by zg »

HaRT wrote: Wed 03 Aug, 2022 23:00Обнаружилась некрасивость (ошибка?) при текстовом показе картинок: пропорции картинки меняются заметно больше, чем это продиктовано соотношением ширины и высоты знакоместа.
это всё-таки неквадратные символы. в горизонтальной картинке высота 22, а хочется 20. у консолас 20 размер 9x20. 20/18*20=22,(2). вот вам и лишние 2 пикселя. вроде костылится.
User avatar
HaRT
Moderator
Posts: 10823
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

LuaPicture — макрос для быстрого просмотра картинок

Post by HaRT »

zg wrote: Thu 04 Aug, 2022 12:03неквадратные символы
Именно. Спасибо за исправление! (И за F4.)

Ещё у меня регулярно, хоть и не очень часто, картинка (по меньшей мере графическая) пропадает прямо во время затянувшегося просмотра (остаётся только фон панели), но надёжно воспроизвести пока не могу.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
HaRT
Moderator
Posts: 10823
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

LuaPicture — макрос для быстрого просмотра картинок

Post by HaRT »

И ещё у меня возникла такая идея: и тут в теме жаловались, и сам я сталкиваюсь с тем, что, когда переключаешься на следующую картинку, сперва промаргивает закраска фона панели (и понятно, почему). Эту визуальную неприятность можно существенно снизить, если показывать сразу текстовый вариант картинки, а поверх, если включено в настройках, — графический. Заодно это решило бы и вопрос с просмотром без GUI — графический оверлей просто не будет показан, и останется только консольное изображение.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
zg
zero-gravity
Posts: 6016
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

LuaPicture — макрос для быстрого просмотра картинок

Post by zg »

HaRT wrote: Thu 04 Aug, 2022 13:11Ещё у меня регулярно, хоть и не очень часто, картинка (по меньшей мере графическая) пропадает прямо во время затянувшегося просмотра (остаётся только фон панели), но надёжно воспроизвести пока не могу.
вывод на консоль несинхронный. т.е. нет никаких гарантий, когда после вызова WriteConsoleOutput консоль реально перерисуется. до конхоста это было практически всегда очень быстро. конхост, особенно с новой консолью, не очень поворотливый. есть функция IsWorking, которая пытается определить, можно ли рисовать. не всегда попытки успешны.

про текстовой предпросмотр — хорошая идея, сделаю.
User avatar
HaRT
Moderator
Posts: 10823
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

LuaPicture — макрос для быстрого просмотра картинок

Post by HaRT »

HaRT wrote: Thu 04 Aug, 2022 00:41 Постараюсь на днях посмотреть. Интересно, а far.AdvControl(F.ACTL_GETFARHWND) под SSH вообще что-то осмысленное возвращает? Если нет, то можно было бы по этому признаку отличать.
Посмотрел, что происходит в сеансе с использованием встроенного OpenSSH-сервера: far.AdvControl(far.Flags.ACTL_GETFARHWND) возвращает какое-то ненулевое userdata (которое, как я понимаю, и есть HWND окна), т.ч. по этому признаку определить SSH-сеанс, к сожалению, не получится. Правда, Spy++ окно с таки хэндлом почему-то не находит, т.ч., возможно, ещё не всё потеряно.
Что странно, так это то, что даже при включенном консольном показе картинки отображается пустой диалог (но с правильным заголовком и почему-то кареткой в нижнем правом углу).
Last edited by HaRT on Mon 08 Aug, 2022 01:58, edited 1 time in total.
Reason: Добавлено дополнение про Spy++
Фар есть инструмент, а не нянька. © 2009 DrKnS
Post Reply

Return to “Полезные макросы и скрипты”