LINUX.ORG.RU
ФорумTalks

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.

★★★★★

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

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

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

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

Adobe EPS

Щикарно!

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

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

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

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

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

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

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

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

r3lgar ★★★★★
()
Последнее исправление: r3lgar (всего исправлений: 1)
Ответ на: комментарий от 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 ★★★★★
() автор топика
Ответ на: комментарий от 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 ★★★★★
() автор топика
Ответ на: комментарий от 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 ★★★★★
()
Ответ на: комментарий от 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 ★★★★★
() автор топика
Ответ на: комментарий от RazrFalcon

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

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

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

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

RazrFalcon ★★★★★
()

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

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

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

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

andreyu ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.