PictureView 3 — просмотр изображений различных форматов

Здесь можно обсудить ваш любимый плагин.
SEt
Posts: 526
Joined: Mon 21 Mar, 2005 10:22
Location: Питер
Been thanked: 46 times

PictureView 3 — просмотр изображений различных форматов

Post by SEt »

В этой теме обсуждается плагин PictureView 3.
Старый тред с обсуждением предыдущих версий: PictureView 1 и 2.

Дальнейшее развитие версии 1.5, переделано под API Far 3.0.



Об извлечении плагинов из дистрибутивов ACDSee.


PS: API как было убогим в Far 2, так и осталось...
Attachments
PictureView3_20140813_last_xp.7z
Последняя версия, работающая на WinXP
(321.22 KiB) Downloaded 1187 times
SEt
Posts: 526
Joined: Mon 21 Mar, 2005 10:22
Location: Питер
Been thanked: 46 times

PictureView 3 — просмотр изображений различных форматов

Post by SEt »

Latest post of the previous page:

Новая версия:
  • GFL декодер позволяет по Shift/Alt+F5 изменять используемое DPI для PDF/PS/EPS файлов, текущее DPI отображается в заголовке.
  • Добавлено некоторое количество костылей.

Сделано. Но, честно говоря, декодер PDF в GFL не очень: даже с костылями он не только тормозит, но и понимает не все PDF, вместо некоторых страниц упорно декодирует первую, не освобождает выделяемую на каждую страницу память до выхода (или рефреша в PV с изменением DPI).
User avatar
HaRT
Moderator
Posts: 10806
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 220 times
Been thanked: 357 times

PictureView 3 — просмотр изображений различных форматов

Post by HaRT »

SEt wrote: Fri 24 Aug, 2018 18:18Сделано
Спасибище!
SEt wrote: Fri 24 Aug, 2018 18:18 декодер PDF в GFL не очень
Вы нас предупредили, недостатки расписали, соответственно, к PictureView никаких претензий.
SEt wrote: Fri 24 Aug, 2018 18:18 GFL декодер позволяет по Shift/Alt+F5 изменять используемое DPI для PDF/PS/EPS файлов
Вот бы это ещё и было упомянуто в соответствующей секции Readme.txt
SEt wrote: Fri 24 Aug, 2018 18:18 текущее DPI отображается в заголовке
А насколько сложно при выходе из плагина попросить Фар обновить заголовок окна? А то остаётся «картиночный» и в таскбаре сбивает с толку…
HaRT wrote: Fri 24 Aug, 2018 13:11 Кстати, сложно ли сделать, чтобы и тут работало прерывание по Esc?
Можете ли прокомментировать?
Фар есть инструмент, а не нянька. © 2009 DrKnS
SEt
Posts: 526
Joined: Mon 21 Mar, 2005 10:22
Location: Питер
Been thanked: 46 times

PictureView 3 — просмотр изображений различных форматов

Post by SEt »

HaRT wrote: Fri 24 Aug, 2018 18:47
SEt wrote: Fri 24 Aug, 2018 18:18 текущее DPI отображается в заголовке
А насколько сложно при выходе из плагина попросить Фар обновить заголовок окна? А то остаётся «картиночный» и в таскбаре сбивает с толку…
У Far сейчас есть цивилизованный способ попросить его перерисовать заголовок? (Вариант сохранить самому/восстановить мне не нравится, так как так можно сохранить "Файл проверяется в..." или ещё что не то.)
HaRT wrote: Fri 24 Aug, 2018 18:47
HaRT wrote: Fri 24 Aug, 2018 13:11 Кстати, сложно ли сделать, чтобы и тут работало прерывание по Esc?
Можете ли прокомментировать?
А разве на GFL при открытии по имени можно как-то повлиять? Esc хоть и работает более агрессивно, но всё же цивилизованно.
User avatar
HaRT
Moderator
Posts: 10806
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 220 times
Been thanked: 357 times

PictureView 3 — просмотр изображений различных форматов

Post by HaRT »

SEt wrote: Fri 24 Aug, 2018 19:58 У Far сейчас есть цивилизованный способ попросить его перерисовать заголовок?
Не знаю, насколько это цивилизованно, но
DrKnS wrote: Fri 29 Apr, 2016 07:47 На будущее: можно полностью переложить заботы по установке/восстановлению заголовка консоли на Far, создав диалог и меняя уже его заголовок, например.
Фар есть инструмент, а не нянька. © 2009 DrKnS
SEt
Posts: 526
Joined: Mon 21 Mar, 2005 10:22
Location: Питер
Been thanked: 46 times

PictureView 3 — просмотр изображений различных форматов

Post by SEt »

Нет, менять заголовок окна через создание фиктивного диалога совершенно не хочется.

Я бы предпочёл, чтобы Far или сам перерисовывал заголовок после вызова плагинов, или хотя бы предоставлял цивилизованный способ это сделать через API. (Например, почему бы AdvControl(ACTL_REDRAWALL) не перерисовать заголовок?)

PS: Запустил под новым Far'ом – обнаружил ещё один забавный эффект: раньше при запуске по префиксу через "pic:name.ext<space>" Far срезал конечный пробел, а теперь не срезает. Даже и не знаю, правильно как было, как сейчас или плагин теперь должен срезать этот пробел.
User avatar
HaRT
Moderator
Posts: 10806
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 220 times
Been thanked: 357 times

PictureView 3 — просмотр изображений различных форматов

Post by HaRT »

beringov wrote: Sun 15 Jul, 2018 08:37 А есть ли способ смотреть векторные .eps, .svg, .ai ?
EPS и AI теперь можно (читай сообщения выше), SVG вроде по-прежнему никак (во всяком случае, у меня не получилось).
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
HaRT
Moderator
Posts: 10806
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 220 times
Been thanked: 357 times

PictureView 3 — просмотр изображений различных форматов

Post by HaRT »

SEt wrote: Fri 24 Aug, 2018 18:18 текущее DPI отображается в заголовке
Для *.ai не отображается, хотя влияет: chromium.ai 13199 x 10199 x 24b 10% 6/14 - PictureView by GFL : ai [Uncompressed] 1789+1314+195ms <AutoY>. Хотелось бы, чтобы и влияло, и отображалось.
Фар есть инструмент, а не нянька. © 2009 DrKnS
SEt
Posts: 526
Joined: Mon 21 Mar, 2005 10:22
Location: Питер
Been thanked: 46 times

PictureView 3 — просмотр изображений различных форматов

Post by SEt »

Да, для *.ai не было отображения. Добавил, будет в следующей версии. (Но их GFL умеет совсем плохо: края обрезаны, декодирует по 10+ секунд.)

А SVG, вроде, GFL никогда и не умел.
User avatar
HaRT
Moderator
Posts: 10806
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 220 times
Been thanked: 357 times

PictureView 3 — просмотр изображений различных форматов

Post by HaRT »

SEt wrote: Mon 27 Aug, 2018 23:45 Добавил, будет в следующей версии.
Спасибо
SEt wrote: Mon 27 Aug, 2018 23:45 Но их GFL умеет совсем плохо: края обрезаны, декодирует по 10+ секунд.
Всё же не везде одинаково плохо. исходники иконочек просмотреть вполне годится.
SEt wrote: Mon 27 Aug, 2018 23:45 А SVG, вроде, GFL никогда и не умел.
Весьма вероятно. XnView их смотрит только через плагин (в т.ч. умеет перекодировать посредством rsvg-convert.exe), но какая библиотека при этом задействуется, я не изучал.
Фар есть инструмент, а не нянька. © 2009 DrKnS
SEt
Posts: 526
Joined: Mon 21 Mar, 2005 10:22
Location: Питер
Been thanked: 46 times

PictureView 3 — просмотр изображений различных форматов

Post by SEt »

Новая версия:
  • Различные улучшения обработки векторных форматов в GFL.
User avatar
HaRT
Moderator
Posts: 10806
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 220 times
Been thanked: 357 times

PictureView 3 — просмотр изображений различных форматов

Post by HaRT »

SEt wrote: Wed 29 Aug, 2018 16:46 Различные улучшения обработки векторных форматов в GFL.
Спасибо за отображение DPI для *.ai/*.ps, а также за доработку документации.

Имею такое отображение: книга.ps 1274 x 1649 x 8b 100% 6/6 [2/1096] - PictureView by GFL : ps@150dpi { Image generated by GPL Ghostscript (device=pnmraw)} 73200+5+22753ms <AutoY>
Правильно ли я понимаю, что числа в 73200+5+22753 идут в таком порядке?:
SEt wrote: Sat 07 Sep, 2013 21:52 три числа: время декодирования, время отрисовки, время распознавания формата и различной начальной инициализации
(Кстати, хорошо бы это включить в документацию, чтобы не выискивать.)
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
HaRT
Moderator
Posts: 10806
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 220 times
Been thanked: 357 times

PictureView 3 — просмотр изображений различных форматов

Post by HaRT »

SEt wrote: Fri 24 Aug, 2018 19:58 А разве на GFL при открытии по имени можно как-то повлиять? Esc хоть и работает более агрессивно, но всё же цивилизованно.
Я поглядел попристальнее и обнаружил, что можно: в ф-и gflLoadBitmap/gflLoadBitmapFromMemory передаётся заполненная структура GFL_LOAD_PARAMS, в которой есть поле Callbacks, а в указуемой им структуре GFL_LOAD_CALLBACKS есть WantCancelProgress), а также ещё ряд указателей на ф-ии, которые, возможно, позволили бы снять часть нареканий по расходу памяти и/или по времени декодирования.
Фар есть инструмент, а не нянька. © 2009 DrKnS
SEt
Posts: 526
Joined: Mon 21 Mar, 2005 10:22
Location: Питер
Been thanked: 46 times

PictureView 3 — просмотр изображений различных форматов

Post by SEt »

HaRT wrote: Wed 29 Aug, 2018 18:41 Имею такое отображение: книга.ps 1274 x 1649 x 8b 100% 6/6 [2/1096] - PictureView by GFL : ps@150dpi { Image generated by GPL Ghostscript (device=pnmraw)} 73200+5+22753ms <AutoY>
Правильно ли я понимаю, что числа в 73200+5+22753 идут в таком порядке?:
SEt wrote: Sat 07 Sep, 2013 21:52 три числа: время декодирования, время отрисовки, время распознавания формата и различной начальной инициализации
Да, так и есть. Очень милый файл.
HaRT wrote: Wed 29 Aug, 2018 19:38 Я поглядел попристальнее и обнаружил, что можно: в ф-и gflLoadBitmap/gflLoadBitmapFromMemory передаётся заполненная структура GFL_LOAD_PARAMS, в которой есть поле Callbacks, а в указуемой им структуре GFL_LOAD_CALLBACKS есть WantCancelProgress), а также ещё ряд указателей на ф-ии, которые, возможно, позволили бы снять часть нареканий по расходу памяти и/или по времени декодирования.
Вот только когда всё тормозит на несколько секунд в данном случае – они не вызываются.
С памятью в последней версии должно быть всё хорошо.
User avatar
HaRT
Moderator
Posts: 10806
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 220 times
Been thanked: 357 times

PictureView 3 — просмотр изображений различных форматов

Post by HaRT »

SEt wrote: Thu 30 Aug, 2018 05:20Очень милый файл.
Ага, при этом сам Ghostscript декодирует его моментально (на тех же 300dpi), а вот XnView тормозит так же, как libGFL (что и не странно).
Конечно, интересно бы понять почему оно так дико тормозит…
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
HaRT
Moderator
Posts: 10806
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 220 times
Been thanked: 357 times

PictureView 3 — просмотр изображений различных форматов

Post by HaRT »

SEt wrote: Thu 30 Aug, 2018 05:20Очень милый файл.
Да что я, собственно, скрытничаю? Файл доступен по ссылке PostScript version со страницы Common Lisp the Language, 2nd Edition.
SEt wrote: Thu 30 Aug, 2018 05:20 когда всё тормозит на несколько секунд в данном случае – они не вызываются
Даже в течение тех 73 секунд?
Фар есть инструмент, а не нянька. © 2009 DrKnS
SEt
Posts: 526
Joined: Mon 21 Mar, 2005 10:22
Location: Питер
Been thanked: 46 times

PictureView 3 — просмотр изображений различных форматов

Post by SEt »

HaRT wrote: Thu 30 Aug, 2018 20:51
SEt wrote: Thu 30 Aug, 2018 05:20Очень милый файл.
Да что я, собственно, скрытничаю? Файл доступен по ссылке PostScript version со страницы Common Lisp the Language, 2nd Edition.
У меня несколько лучше: clm.ps 1274 x 1649 x 24b 68% 63/1394 [2/1096] - PictureView by GFL : ps@150dpi { Image generated by AFPL Ghostscript (device=pnmraw) } 12668+15+4665ms <AutoY>
HaRT wrote: Thu 30 Aug, 2018 20:51
SEt wrote: Thu 30 Aug, 2018 05:20 когда всё тормозит на несколько секунд в данном случае – они не вызываются
Даже в течение тех 73 секунд?
Именно. Только до них и после. ^_^

Мне кажется, что хватит с GFL мучится. Кому нужна нормальная работа с такими форматами – быстрее, наверное, самому написать pvd-декодер (хоть через тот же Ghostscript), чем по столько ждать.

Можно, кстати, написать "тупой" pvd: он будет распознавать формат по сигнатуре, запускать по файлу внешний конвертер куда-нибудь в Temp и отдавать результирующий bmp/ppm.
Post Reply

Return to “Обсуждение плагинов”