LINUX.ORG.RU

Simple Viewer GL v2.99 — просмотрщик изображений

 , ,


1

2

Simple Viewer GL — легковесный просмотрщик изображений.

Интерфейс состоит из одного окна с опциональной строкой статуса и информацией о пикселе под курсором и/или выделенной области (скриншот). Simple Viewer GL умеет определять тип файла по его сигнатуре, а не только по расширению, а также рекурсивно сканировать директорию.

Список поддерживаемых форматов:
PNG, JPEG, PSD, AI, EPS, GIF, TIFF, TARGA, ICO, PNM, DDS, BMP, XWD, SCR (ZX-Spectrum screen), XPM, WebP, OpenEXR.

Работает в GNU/Linux, FreeBSD и macOS.


Новое в 2.99:

  • Добавлена поддержка формата OpenEXR.
  • Добавлена поддержка форматов ZX-Spectrum multicolor + border.
  • Уменьшено потребление памяти при загрузке PNG.
  • Расширена поддержка GIF.
  • Добавлена поддержка CMYK PSD.
  • Добавлена поддержка CMYK JPEG.
  • Улучшена поддержка TARGA RGB 16.
  • Добавлена возможность предпросмотра форматов Adobe Illustrator и Adobe EPS.
  • Введена возможность «укорачивания» длинных имен файлов в инфобаре (длина настраивается в конфиге).
  • Теперь вьювер собирается и работает на FreeBSD.
  • Улучшен детектор JPEG формата.
  • В конфиг добавлен параметр «font_ratio».
  • Добавлены правила сборки DEB и RPM.
  • Добавлена поддержка форматов ZX-Spectrum multicolor + border.
  • В macOS конфиг перенесен в «~/Library/Application Support/sviewgl/config»
  • Теперь клавиша <Delete> не удаляет файл, а помечает его для удаления. Для удаления с диска помеченных файлов добавлена комбинация <Ctrl+Delete>.
  • Добавлен хоткей <Shift+?>.
  • Улучшен попап Pixel Info.
  • Починил запуск в полноэкранном режиме.
  • Сделал «ленивую» инициализацию загрузчиков.
  • Добавлена пиксельная сетка и хоткей <g> для нее.
  • Исправлен режим фильтрации текстур.
  • Добрый художник-альтруист нарисовал новую иконку.



Simple Viewer GL на BitBucket.

Бинарная сборка для macOS в разделе downloads.

★★★★★

Тут поддержку HEIC в линуксах недавно реквестировали (только XnView)

Moderators ★★ ()

а также рекурсивно сканировать директорию

Ему уже можно скормить диру, а не файл в дире, чтобы рекурсивно просмотреть содержимое?

Расширена поддержка GIF

Рендер всё такой же неторопливый?

Adobe EPS

Щикарно!

Теперь вьювер собирается и работает на FreeBSD

Джва года ждал.

Добавлена поддержка форматов ZX-Spectrum multicolor + border

Два раза написал.

Добрый художник-альтруист нарисовал новую иконку.

Хорошо получилось.

Каковы планы на счёт SVG?

Планируешь ли делать поддержку XCF?

r3lgar ★★★★★ ()
Последнее исправление: r3lgar (всего исправлений: 1)

пулл реквест с добавлением сборки автотулзами принимается?

Harald ★★★★★ ()

v2.99

«Вот когда будет v3.0, тогда и обсудим» :)

quickquest ★★★★★ ()

Что-то не получилось найти релизный тарбол. И даже на https://bitbucket.org/andreyu/simple-viewer-gl/downloads/?tab=tags последняя версия v2.92. При этом там имена тарболов содержат не номера версий. А раньше в релизных тарболах номера версий были.

saahriktu ★★★★★ ()

AI, EPS

Каким образом? Чисто привьюшку?

RazrFalcon ★★★ ()
Ответ на: комментарий от r3lgar

Каковы планы на счёт SVG?

Так либы для отрисовки svg не существует, увы.

RazrFalcon ★★★ ()
Ответ на: комментарий от RazrFalcon

librsvg в системе на твою можно заменить? Или пока смысла нет?

imul ★★★★★ ()
Ответ на: комментарий от RazrFalcon

Так либы для отрисовки svg не существует, увы.

Насколько плох librsvg? Насколько не готов libresvg?

r3lgar ★★★★★ ()
Ответ на: комментарий от imul

Начиная с 0.2 qtsvg можно будет заменить. Над rsvg ещё не думал. У нас API сильно разное.

Думаю с 0.3 можно будет пропихивать в дистры. Пока ещё сильно сырое.

RazrFalcon ★★★ ()
Ответ на: комментарий от r3lgar

Если нужно рисовать кружочки и квадратики - терпимо. Всё остальное - дно. Проблема rsvg в том, что он не умеет в edge-cases. Шаг в сторону - и он фейлит. Это и было основной мотивацией для resvg. Так как моя либа заточена под edge-cases.

resvg нужно ещё годик-два попилить.

RazrFalcon ★★★ ()
Последнее исправление: RazrFalcon (всего исправлений: 1)
Ответ на: комментарий от RazrFalcon

resvg нужно ещё годик-два попилить.

Главное — не бросай. С XML-дичью не каждый возьмётся иметь дело, так что я на тебя надеюсь.

r3lgar ★★★★★ ()
Ответ на: комментарий от r3lgar

а также рекурсивно сканировать директорию

Ему уже можно скормить диру, а не файл в дире, чтобы рекурсивно просмотреть содержимое?

Это можно было и раньше делать sviewgl /path/to/dir/ -r.

Рендер всё такой же неторопливый?

Рендерер торопливый, загрузка фрейма делается с помощью giflib старым способом. На gif больших разрешений будет тормозить. В планах переделать.

Adobe EPS

Щикарно!

Увы, осилил только preview, а оно маленького разрешения.

Джва года ждал.

Ну вот, дождались :)

Добавлена поддержка форматов ZX-Spectrum multicolor + border

Два раза написал.

Переносил вверх, видимо промахнулся и нажал copy вместо cut.

Добрый художник-альтруист нарисовал новую иконку.

Хорошо получилось.

Передам, ей будет приятно слышать.

Каковы планы на счёт SVG?

Периодически берусь за поддержку этого формата, но за 5 минут не получается ее осилить и я бросаю начатое.

Планируешь ли делать поддержку XCF?

Когда-то давно были такие планы, но я не уверен, что это возможно сделать, не затянув весь gimp во вьювер. Но да, сам страдаю от отсутствия поддержки XCF.

andreyu ★★★★★ ()
Ответ на: комментарий от Im_not_a_robot

Чем он лучше стандартного eog из гнома?

Вы не первый, кто задает подобный вопрос. Наверное вам кроме просмотра jpeg, png больше ничего не нужно.

Мне же нужна поддержка дополнительных форматов, а так же возможность выделить на изображении некоторую область и получить информацию о ней. Мне нужна возможность рекурсивного просмотра директорий.

andreyu ★★★★★ ()
Ответ на: комментарий от Harald

пулл реквест с добавлением сборки автотулзами принимается?

А каков в этом смысл?

andreyu ★★★★★ ()
Ответ на: комментарий от quickquest

«Вот когда будет v3.0, тогда и обсудим» :)

Честное слово, я не специально выбирал такой номер версии :)

andreyu ★★★★★ ()
Ответ на: комментарий от saahriktu

Что-то не получилось найти релизный тарбол. И даже на https://bitbucket.org/andreyu/simple-viewer-gl/downloads/?tab=tags последняя версия v2.92.

Да, забыл tag поставить. Сейчас исправлю этот момент.

При этом там имена тарболов содержат не номера версий. А раньше в релизных тарболах номера версий были.

https://bitbucket.org/andreyu/simple-viewer-gl/get/v2.99.tar.bz2
А разве это не номер версии?

andreyu ★★★★★ ()
Ответ на: комментарий от RazrFalcon

AI, EPS

Каким образом? Чисто привьюшку?

Исключительно embedded preview. И да, она низкого разрешения. Но все же стало значительно удобнее разбираться что же там внутри, не запуская фотошоп или иллюстратор.

andreyu ★★★★★ ()
Ответ на: комментарий от RazrFalcon

Так либы для отрисовки svg не существует, увы.

Существуют, но насколько мне известно, они все не поддерживают спецификацию полностью. Даже браузеры не поддерживают полностью спецификацию.

andreyu ★★★★★ ()
Ответ на: комментарий от andreyu

Когда-то давно были такие планы, но я не уверен, что это возможно сделать, не затянув весь gimp во вьювер.

У Макхольма получилось, а у тебя вдруг не получится?

http://henning.makholm.net/software

AP ★★★★★ ()
Ответ на: комментарий от r3lgar

С XML-дичью не каждый возьмётся иметь дело, так что я на тебя надеюсь.

Если xml - это единственная проблема, то написать библиотеку смог был любой эникейщик. Но увы, не xml является проблемой.

andreyu ★★★★★ ()
Ответ на: комментарий от AP

У Макхольма получилось, а у тебя вдруг не получится?
http://henning.makholm.net/software

Спасибо, посмотрю на его реализацию. В описании сказано «flattening layers if necessary». Это значит, что утилита сама смержит слои при необходимости?

andreyu ★★★★★ ()
Ответ на: комментарий от andreyu

sviewgl /path/to/dir/ -r

Ах, вот оно как надо было делать… Понял, благодарю.

На gif больших разрешений будет тормозить.

Я в этом уже много раз убедился.

Увы, осилил только preview, а оно маленького разрешения.

Это лучше, чем ничего. Порой даже чтобы разобраться, что там внутри, приходится расчехлять виртуалку, в ней расчехлять фотошоп.

Периодически берусь за поддержку этого формата, но за 5 минут не получается ее осилить и я бросаю начатое.

Главное — код не удаляй. Не думаю, что одному мне это надо, может кто пришлёт PR.

не уверен, что это возможно сделать, не затянув весь gimp во вьювер

Я не силён в вопросе, просто любопытствую.

r3lgar ★★★★★ ()
Ответ на: комментарий от andreyu

В описании сказано «flattening layers if necessary». Это значит, что утилита сама смержит слои при необходимости?

Судя по описанию — да.

Надо только учитывать, что Хеннинг не обновлял свои тулзы девять лет почти, в формате были кое-какие изменения с тех пор.

AP ★★★★★ ()
Ответ на: комментарий от andreyu

Но увы, не xml является проблемой.

Оно тоже является проблемой, пусть и не самой трудной.

r3lgar ★★★★★ ()
Ответ на: комментарий от r3lgar

На gif больших разрешений будет тормозить.

Я в этом уже много раз убедился.

Похоже инициализация giflib занимает приличное время. Нужно немного поправить код, что бы инициализация делалась только раз, а не каждый кадр. Плюс добавить упреждающую загрузку следующего фрейма в фоне. Первое сделать не сложно, второе сложнее. Будет время, переделаю.

Это лучше, чем ничего. Порой даже чтобы разобраться, что там внутри, приходится расчехлять виртуалку, в ней расчехлять фотошоп.

Аналогично я сказал и себе, после чего добавил поддержку превью :)

Главное — код не удаляй. Не думаю, что одному мне это надо, может кто пришлёт PR.

Там кода полторы с половиной строки. У меня и в мыслях не было писать парсер и рендерер самостоятельно.

Я не силён в вопросе, просто любопытствую.

Чуть выше AP дал ссылку на утилиту, которая не используя gimp умеет читать xcf. Попробую затянуть его код к себе во вьювер.

andreyu ★★★★★ ()
Ответ на: комментарий от AP

Надо только учитывать, что Хеннинг не обновлял свои тулзы девять лет почти, в формате были кое-какие изменения с тех пор.

Да, уже смотрю код. Последняя версия 1.0.7 от 2009-07-03.

andreyu ★★★★★ ()
Ответ на: комментарий от r3lgar

Оно тоже является проблемой, пусть и не самой трудной.

Хороших, быстрых и удобных партеров xml как грязи. Так что это совсем не проблема.

andreyu ★★★★★ ()
Ответ на: комментарий от andreyu

А разве это не номер версии?

По приведённой ссылке - да. А если качать с той страницы, то вместо v2.99.tar.bz2 качается andreyu-simple-viewer-gl-7baf56f1a406.tar.bz2.

saahriktu ★★★★★ ()
Ответ на: комментарий от saahriktu

По приведённой ссылке - да. А если качать с той страницы, то вместо v2.99.tar.bz2 качается andreyu-simple-viewer-gl-7baf56f1a406.tar.bz2.

У меня работает так:
curl https://bitbucket.org/andreyu/simple-viewer-gl/get/v2.99.tar.bz2 -o sviewgl-2.99.tar.bz2

Правда внутри архива директория с хешем в имени:
andreyu-simple-viewer-gl-7baf56f1a406

andreyu ★★★★★ ()
Ответ на: комментарий от andreyu

Плюс добавить упреждающую загрузку следующего фрейма в фоне.

Кэширование прогруженных кадров, пусть даже на время, пока показывается файл?

У меня и в мыслях не было писать парсер и рендерер самостоятельно.

Ну да, там наркомании хватает. Тем более есть вкусное на первый взгляд libresvg. Будем ждать, когда RazrFalcon допилит его.

Чуть выше AP дал ссылку на утилиту, которая не используя gimp умеет читать xcf. Попробую затянуть его код к себе во вьювер.

Увидел уже после того, как запостил комментарий.

Хороших, быстрых и удобных партеров xml как грязи.

хороших

парсеров xml

Мне проще поверить, чем связываться. (%

r3lgar ★★★★★ ()
Ответ на: комментарий от r3lgar

Кэширование прогруженных кадров, пусть даже на время, пока показывается файл?

Да.

Будем ждать, когда RazrFalcon допилит его.

Угу, будем ждать.

Мне проще поверить, чем связываться. (%

Это действительно так, сходу вспомнил про tinyxml/tinyxml2, pugixml, rapidxml.

andreyu ★★★★★ ()
Ответ на: комментарий от andreyu

кроме просмотра jpeg, png больше ничего не нужно.

JPEG2000, бывает, нужен. А его поддержку отключили в gdk-pixbuf из Debian чуть более 2-ух лет назад.

gag ★★★★★ ()
Ответ на: комментарий от andreyu

Там два режима: генерация изображения и отрисовка на холсте. Не знаю какое нужно. Но так как у вас не cairo/qt, то видимо проще в растр перегонять.

Пример: https://github.com/RazrFalcon/libresvg/blob/master/examples/cairo-capi/example.c

Правда нужна зависимость от cairo/qt, ибо именно они рисуют.

RazrFalcon ★★★ ()
Ответ на: комментарий от gag

JPEG2000, бывает, нужен.

В моем вьювере нет поддержки jpeg2k. Не было необходимости. Возможно позже добавлю поддержку.

andreyu ★★★★★ ()
Ответ на: комментарий от gag

Я был бы не против.

Смысл добавления автотулзов в том, что вы были бы не против? :)

andreyu ★★★★★ ()
Ответ на: комментарий от RazrFalcon

Мне нужно на выходе получить битмап и его параметры - размеры, питч и формат пикселя.

andreyu ★★★★★ ()
Ответ на: комментарий от andreyu

На выходе будет QImage или cairo_surface_t. Какие-либо сырые данные я сейчас не возвращаю.

RazrFalcon ★★★ ()
Ответ на: комментарий от RazrFalcon

На выходе будет QImage или cairo_surface_t. Какие-либо сырые данные я сейчас не возвращаю.

Вот и проблема, тянуть зависимости qt или cairo нет ни малейшего желания.

andreyu ★★★★★ ()
Ответ на: комментарий от andreyu

Ну кто-то же должен растеризировать. На rust пока ничего такого не запилили.

RazrFalcon ★★★ ()

По наводке AP добавил поддержку XCF, основанную на XcfTools от Henning Makholm.

Код XcfTools очень старый и может некорректно работать со свежими XCF. Кроме того, код XcfTools требует серьезного рефакторинга, на который у меня пока нет времени. Сейчас я на скорую руку привел его к более-менее читабельному виду и поддержке свежего C++ компилятора.

Работоспособность проверял на небольшом количестве своих XCF. Заметил, что на некоторых XCF нового формата неправильно трактуется видимость некоторых слоев (на самом деле это сгруппированные слои).

Когда будет время и желание заняться доработкой я не знаю.

andreyu ★★★★★ ()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)