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

Здесь можно обсудить ваш любимый плагин.
SEt
Posts: 468
Joined: Mon 21 Mar, 2005 10:22
Location: Питер
Been thanked: 27 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 762 times

User avatar
HaRT
Moderator
Posts: 9422
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 105 times
Been thanked: 219 times

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

Post by HaRT »

Latest post of the previous page:

Piton812 wrote:
Wed 11 Jul, 2018 05:46
положить файл DjVu.pvd
С файлом соответствующей битности из pvdDjVu.7z со страницы PictureView всё получилось. Спасибо!
Фар есть инструмент, а не нянька. © 2009 DrKnS

beringov
Posts: 5
Joined: Mon 14 Oct, 2013 20:27

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

Post by beringov »

А есть ли способ смотреть векторные .eps, .svg, .ai ?

SEt
Posts: 468
Joined: Mon 21 Mar, 2005 10:22
Location: Питер
Been thanked: 27 times

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

Post by SEt »

Честно говоря, PV не рассчитан на векторные форматы. Но если вам удастся найти соответствующий декодер (например, поставить в систему WIC кодек), то это возможно.

User avatar
SlashNet
Posts: 596
Joined: Fri 20 Mar, 2009 09:43
Location: Львов
Has thanked: 5 times
Been thanked: 2 times

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

Post by SlashNet »

Жаль, что консольные конвертеры нельзя прикрутить нормально (чтоб работало перелистывание).
ədиw wo⊥є ʚ o⊥ʎнdəʚədəu əɔʚ

User avatar
zg
zero-gravity
Posts: 5818
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 147 times
Contact:

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

Post by zg »

лет 15 назад gfl точно можно было настроить, чтобы при установленном ghostscript'е можно было смотреть ai, eps, ps, pdf. работало очень медленно.

SEt
Posts: 468
Joined: Mon 21 Mar, 2005 10:22
Location: Питер
Been thanked: 27 times

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

Post by SEt »

zg wrote:
Sun 15 Jul, 2018 20:34
gfl точно можно было настроить, чтобы при установленном ghostscript'е можно было смотреть ai, eps, ps, pdf
Это не очень работает: работает только в случае открытия в GFL файла по имени (и, конечно же, не юникодному имени).
Сейчас PV отдаёт GFL файл в памяти и GFL даже не пытается декодировать некоторые форматы когда у него нет имени.

SEt
Posts: 468
Joined: Mon 21 Mar, 2005 10:22
Location: Питер
Been thanked: 27 times

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

Post by SEt »

Новая версия:
  • GFL декодер открывает файлы по имени, если это возможно. Соответственно, работают PDF, PS (через Ghostscript) и подобное.
  • Можно установить другой цвет фона для выбранных файлов.
  • Новый декодер: FLIF.
  • Декодирование в JpegRec стало быстрее.

Для активно использующих постпроцессинг Автояркость в аттаче сборка с OpenMP версией. Интересно услышать отзывы.
(Время постпроцессинга входит во вторую цифру времени в заголовке: декодирование + постпроцессинг/отображение + инициализация/распознавание.)

User avatar
HaRT
Moderator
Posts: 9422
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 105 times
Been thanked: 219 times

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

Post by HaRT »

SEt wrote:
Wed 22 Aug, 2018 16:59
GFL декодер открывает файлы по имени, если это возможно. Соответственно, работают PDF
Спасибо! А откуда для PDF берётся размер картинки в пикселях? Такое ощущение, что из свойств документа берётся размер страницы в пунктах (points, pts — это такая типографская единица длины), отсекается до целого, уменьшается на 1 и трактуется как размер в пикселях. В результате картинки получаются чрезвычайно низкого разрешения, иногда даже текст документа с трудом читается.
Фар есть инструмент, а не нянька. © 2009 DrKnS

User avatar
HaRT
Moderator
Posts: 9422
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 105 times
Been thanked: 219 times

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

Post by HaRT »

SEt wrote:
Wed 22 Aug, 2018 16:59
Интересно услышать отзывы.
Проверил на паре картинок шириной 4-5К (PNG/JPEG) — вторая цифра уменьшилась на ~20 (с ~115/150). Но у третьей подобной картинки (JPEG) чуток подросла (на ~0-10 от ~130). Т.ч. как-то неоднозначно.
Фар есть инструмент, а не нянька. © 2009 DrKnS

SEt
Posts: 468
Joined: Mon 21 Mar, 2005 10:22
Location: Питер
Been thanked: 27 times

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

Post by SEt »

HaRT wrote:
Wed 22 Aug, 2018 18:26
А откуда для PDF берётся размер картинки в пикселях?
Это нигде не настраивается. Подозреваю, что в libgfl просто захардкодено какое-то низкое значение dpi, которое передаётся Ghostscript'у.

HaRT wrote:
Wed 22 Aug, 2018 19:03
Проверил на паре картинок шириной 4-5К
Для полезности информации необходимо добавить:
1) процессор (сколько ядер/тредов), 2) декодер (JpegRec или нет здесь сильно влияет), 3) площадь (примерная) картинки в мегапикселях.
Если ускорения не видно, то интересно, на сколько загружается процессор, если отключить "Опережающее декодирование" и подержать F5 на этом файле.
И это всё про постпроцессинг, который в заголовке называется "AutoY" (не "AutoLevels").

User avatar
HaRT
Moderator
Posts: 9422
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 105 times
Been thanked: 219 times

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

Post by HaRT »

SEt wrote:
Wed 22 Aug, 2018 20:17
1) процессор (сколько ядер/тредов)
Intel(R) Core(TM) i7-4770K CPU @ 3.50GHz, 4 ядра, 8 тредов.
SEt wrote:
Wed 22 Aug, 2018 20:17
SEt wrote:
Wed 22 Aug, 2018 20:17
2) декодер (JpegRec или нет здесь сильно влияет), 3) площадь (примерная) картинки в мегапикселях.
[...]
И это всё про постпроцессинг, который в заголовке называется "AutoY" (не "AutoLevels").
transparent.png 4813 x 1888 x 32b 28% 20/869 - PictureView by GDI+ : PNG 164+82+10ms <AutoY>
IMG_1896_2.jpg 5171 x 3446 x 24b 26% 27/869 - PictureView by JpegRec [Progressive 444 qP12 r0] 283+126+0ms <AutoY>
foto2.jpg 4665 x 2953 x 32b 28% 28/869 - PictureView by JpegRec [Sequential 4444 YCCK qp12 R0] 167+134+1ms <AutoY>
SEt wrote:
Wed 22 Aug, 2018 20:17
на сколько загружается процессор, если отключить "Опережающее декодирование" и подержать F5 на этом файле.
foto2.jpg CPU: ~31% (поначалу чуть больше; кстати, с включенным опережающим декодированием показатель тот же), при этом вторая цифра прыгала в диапазоне 60-80 (против прежних 130).
P.S.
Любопытно, у «медленного» JPEGа (foto2.jpg) 32 бита на пиксель, а не обычные 24.
И вообще, вот что про них пишет ExifTool:
Фар есть инструмент, а не нянька. © 2009 DrKnS

SEt
Posts: 468
Joined: Mon 21 Mar, 2005 10:22
Location: Питер
Been thanked: 27 times

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

Post by SEt »

По foto2.jpg никакой постпроцессинг вообще не работает – оно YCCK(≈CMYK), так что все колебания времени исключительно из-за отрисовки. (Я не знаю, как адекватно и не жутко медленно там считать постпроцессинг.)

Уменьшение второй цифры при постоянной нагрузке легко объяснить – видеокарта выходит из энергосберегающего режима.

В остальных случаях ускорение постпроцессинга (разница средних значений второй цифры с постпроцессингом и без) от OpenMP, наверное, раза в 2.

PS: Кто-нибудь понимает, что пишет JpegRec в [] на предпоследнем месте?
Last edited by SEt on Wed 22 Aug, 2018 21:46, edited 1 time in total.

User avatar
HaRT
Moderator
Posts: 9422
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 105 times
Been thanked: 219 times

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

Post by HaRT »

SEt wrote:
Wed 22 Aug, 2018 20:17
Подозреваю, что в libgfl просто захардкодено какое-то низкое значение dpi, которое передаётся Ghostscript'у.
Как я понимаю, PictureView вызывает ф-ю gflLoadBitmap/gflLoadBitmapFromMemory, в которую передаётся заполненная структура GFL_LOAD_PARAMS, а вот уже в ней есть поле EpsDpi, в которое, подозреваю, и надо положить желаемое значение — например, 300 или 600. Сложно ли вам попробовать это сделать? А то с 72 DPI как-то маловато пользы от просмотра PDF/PS…
Фар есть инструмент, а не нянька. © 2009 DrKnS

SEt
Posts: 468
Joined: Mon 21 Mar, 2005 10:22
Location: Питер
Been thanked: 27 times

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

Post by SEt »

Опс, действительно, настраивается. Проглядел...

Вот на испытание версии с 200 и 300 dpi. Уже 300 может довольно сильно тормозить. Опцию для этого делать пока не хочется, так что выбирайте.

User avatar
HaRT
Moderator
Posts: 9422
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 105 times
Been thanked: 219 times

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

Post by HaRT »

SEt wrote:
Fri 24 Aug, 2018 03:29
Вот на испытание версии с 200 и 300 dpi.
Спасибо!
SEt wrote:
Fri 24 Aug, 2018 03:29
Уже 300 может довольно сильно тормозить.
На сканах не тормозит (т.к. нет растеризации), а на документах да, случается, но для меня приемлемо. Правда, на одной книжке намертво зависает (в весьма замысловатом сценарии; через несколько минут развисает), но это, вероятно, надо чинить в GFL SDK или в Ghostscript. Кстати, сложно ли сделать, чтобы и тут работало прерывание по Esc?
SEt wrote:
Fri 24 Aug, 2018 03:29
Опцию для этого делать пока не хочется
Зачем опцию? Есть же используемые в JpegRec кнопкосочетания Shift/Alt+F5 для переключения фактически параметра декодирования. Сложно ли и для декодера GFL использовать подобный же механизм управления? (Предлагаю градации 72, 150, 300, 600, 1200 DPI.)
Last edited by HaRT on Fri 24 Aug, 2018 14:29, edited 1 time in total.
Reason: Добавлено уточнение про развисание

SEt
Posts: 468
Joined: Mon 21 Mar, 2005 10:22
Location: Питер
Been thanked: 27 times

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

Post by SEt »

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

Сделано. Но, честно говоря, декодер PDF в GFL не очень: даже с костылями он не только тормозит, но и понимает не все PDF, вместо некоторых страниц упорно декодирует первую, не освобождает выделяемую на каждую страницу память до выхода (или рефреша в PV с изменением DPI).

Post Reply

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