LINUX.ORG.RU

Simple Viewer GL 2.75

 , ,


3

5

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

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

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

Новое в 2.75

  • Добавлена поддержка формата XPM (собственная реализация).
  • Добавлена поддержка формата TARGA (собственная реализация).
  • Убрана зависимость от библиотеки libconfig++ в пользу ini-подобного конфигурационного файла.
  • Улучшена поддержка форматов DDS, ICO и XWD.
  • Обновлена палитра ZX-Spectrum (теперь это PULSAR, как на «железном» ZX).
  • Добавлена возможность сохранять зум (переключается по хоткею <shift>+<s>).
  • Исправлена ошибка с фильтрацией текстур.
  • Улучшено сканирование директории, поддержка перетаскивания списка файлов.

Поддерживаемые форматы

Сторонняя реализация:

  • PNG (libpng);
  • JPEG (libjpeg);
  • TIFF (libtiff);
  • GIF (giflib);
  • WEBP (webp).

Собственная реализация:

  • PPM (24 raw и 24 ASCII);
  • XPM (только xpm 2);
  • TARGA;
  • DDS (частично);
  • PSD (формат до конца не отреверсили, посему не все функции поддерживаются);
  • ICO (png и «обычные» фреймы);
  • XWD (только x11);
  • SCR (ZX-Spectrum screen);
  • PVR, RAW, AGE (это внутренние форматы).

>>> Simple Viewer GL на BitBucket

★★★★★

Проверено: Shaman007 ()
Последнее исправление: Wizard_ (всего исправлений: 10)
Ответ на: комментарий от Linfan

Я не про display, а про использование IM как библиотеки. Неужели такой медленный у них парсинг?

А в чем смысл этой прослойки? Для png, tiff, jpeg, etc. они используют сторонние либы.

andreyu ★★★★★
() автор топика

Попробовал, понравилось. Реквестую изменение масштаба колесиком мышки.

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

У меджика порядка 100 разношёрстных форматов унифицированных в единое API. Вы переписываете IM или делаете просмотрщик?

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

Где сборочка для macOS?

Сборок нет. Есть сорцы и инструкция. Но для вас могу выгрузить куда-либо свой билд - это один бинарь, не бандл.

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

Попробовал, понравилось.

Это прекрасно.

Реквестую изменение масштаба колесиком мышки.

В планах вернуть колесо мыши и добавить гестуры под macOS.

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

У меджика порядка 100 разношёрстных форматов унифицированных в единое API.

Как это должно помочь моему вьюверу делать то, что он делает уже? Это поможет добавить поддержку форматов, о которых IM просто не знает?

Вы переписываете IM или делаете просмотрщик?

Я делаю свой вьювер, который делает ровно то, что нужно мне.

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

Имхо, можно добавить своё поверх того, что уже есть в IM. Нет смысла писать свои обертки под уже давно созданные либы - проще сделать одну на IM. Тем паче, что решаются вопросы по управлению цветом, многостраничности и т.п. Но это имхо и не более.

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

Имхо, можно добавить своё поверх того, что уже есть в IM.

Можно. Но зачем?

Нет смысла писать свои обертки под уже давно созданные либы - проще сделать одну на IM.

Я не большой любитель лишних прослоек, к которым еще нужно как-то приспособиться.

Тем паче, что решаются вопросы по управлению цветом, многостраничности и т.п. Но это имхо и не более.

Решая одни вопросы, мы получаем много новых. Оно мне нужно?

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

Цветовые профили корректно работают?

Цветовые профили в линукс - это совсем не то, что цветовой профиль в виндовс и макось.
Я ничего для их поддержки не делал.

andreyu ★★★★★
() автор топика

Цветом умеет управлять? EXIF умеет читать и выводить заданные параметры на экран? IPTC/XMP поддерживает? А с UTF-8? Реальный размер иображения может?

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

Цветом умеет управлять?

Simple Viewer GL 2.75 (комментарий)

EXIF умеет читать и выводить заданные параметры на экран?

Нет. Уже несколько лет в планах сделать это, но руки не дошли.

IPTC/XMP поддерживает?

Что это?

А с UTF-8?

А что с ним не так?

Реальный размер иображения может?

А какой вам нужен? У меня в тестовом наборе есть jpeg 16184x4282, 10480x14824, 29566x14321, gif 4454x5122, png 9999x5123 - грузятся чанками в отдельном потоке.
Но если ваша коллекция состоит исключительно из больших изображений, то вам стоит смотреть в сторону специализированных вьюверов/менеджеров. У моего вьювера несколько иное назначение.

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

Цветом умеет управлять?
Simple Viewer GL 2.75 (комментарий)

Отвечать ссылкой на простой вопрос ссылкой на куда-то — моветон и невоспитанность. К тому же

Цветовые профили в линукс - это совсем не то, что цветовой профиль в виндовс и макось.

говорит о том, что вы в графике простофиля и незнайка.

EXIF умеет читать и выводить заданные параметры на экран?
Нет. Уже несколько лет в планах сделать это, но руки не дошли.

Мда

IPTC/XMP поддерживает?
Что это?

Вот настолько незнайка берется писать вьюер? Писать вьюеры и плееры это инфекция?

А с UTF-8?
А что с ним не так?

Зачем вам лишняя информация?

Реальный размер иображения может?
А какой вам нужен? У меня в тестовом наборе есть jpeg 16184x4282, 10480x14824, 29566x14321, gif 4454x5122, png 9999x5123 - грузятся чанками в отдельном потоке.
Но если ваша коллекция состоит исключительно из больших изображений, то вам стоит смотреть в сторону специализированных вьюверов/менеджеров. У моего вьювера несколько иное назначение.

Мне никакой не нужен. Реальный размер — размер с учетом разрешения.

Слава богу, что вы ничего опасного не создаете. Писать приложение для графики и даже не удосужиться разобраться с основными понятиями — это диагноз. Не стоит вам пиарить это — выглядите дятлом.

Какой балбес подтвердил это новостью?

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

Отвечать ссылкой на простой вопрос ссылкой на куда-то — моветон и невоспитанность.

А вы хотите, что бы я скопипастил ответ, который уже привел ранее в этой ветке?

говорит о том, что вы в графике простофиля и незнайка.

И вы говорите о воспитанности?

Вот настолько незнайка берется писать вьюер?

Вот такой вот незнайка берется писать то, что ему нужно.

Писать вьюеры и плееры это инфекция?

Это вы мне скажите, доктор.

Зачем вам лишняя информация?

Полагаю, отвечать на вопрос вопросом - это признак воспитанности ...в понятиях анонимуса.

Мне никакой не нужен. Реальный размер — размер с учетом разрешения.

А так, вы просто пообщаться пришли. Извините, но все бабушки с лавочки уже ушли.

Слава богу, что вы ничего опасного не создаете.

Да, это хорошо.

Писать приложение для графики и даже не удосужиться разобраться с основными понятиями — это диагноз.

А можно список основных понятий?

Не стоит вам пиарить это — выглядите дятлом.

Ваше мнение очень важно для меня.

Какой балбес подтвердил это новостью?

Так анонимус умеет только критиковать, а прочесть написанное неспособен?

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

Photoqt лучше.

Based on Qt5/QML

Кто-то считает это преимуществом?

Support of many image formats (use of GraphicsMagick and Libraw)

Количество поддерживаемых форматов огромное, но не умеет те, что нужны мне.

Basic File Management (Renaming, Deleting, Moving, Copying)

Удаление умеет и мой вьювер. Остальное задача файлового менеджера.

Set-as-Wallpaper function

Наверное для кого-то это полезная фича :)

Slideshow feature
Exif information

И это тоже.

Highly Adjustable to your custom preference
Interface that doesn't get into your way
Very fast and flexible

Что это значит?

Thumbnail Cache

Наверное полезно. Но мой юзкейс не предполагает необходимость в создании превьюшек.

System Tray Usage

Мы это сделали потому, что можем? :)

Command Line Options

Ну куда же без этого. Есть оно у нас.

А как узнать цвет пикселя под курсором? А как можно выделить область изображения и посмотреть ее параметры?

Но если ближе к теме, то назначения у вьюверов разные.

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

Увы, анон дело говорит. Цветовые профайлы могут быть интегрированы внутри файлов. И без их обработки вьювер будет выдавать фигню. Пример: http://regex.info/blog/photo-tech/color-spaces-page1

Да и конвертация между разными цветовыми пространствами тоже не на пальцах делается. Напр., как Ваш вьювер отображает JPEG с изображением в CMYK? Тот же IM саппортит пару десятков цветовых пространств.

Но дело хозяйское - Вы автор Вам и рулить.

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

Увы, анон дело говорит.

Он много чего говорит, видимо он из первой очереди:
http://imgur.com/0d7OAHC

Цветовые профайлы могут быть интегрированы внутри файлов. И без их обработки вьювер будет выдавать фигню. Пример: http://regex.info/blog/photo-tech/color-spaces-page1

Мой вьювер ошибся с отрисовкой какой-либо картинки?

Да и конвертация между разными цветовыми пространствами тоже не на пальцах делается. Напр., как Ваш вьювер отображает JPEG с изображением в CMYK? Тот же IM саппортит пару десятков цветовых пространств.

Этим занимается libjpeg. Я говорю ему, что хочу в итоге получить.

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

Мой вьювер ошибся с отрисовкой какой-либо картинки?

Попробуйте вот эту: http://regex.info/i/cs/sample-wonky.profile.jpg

Этим занимается libjpeg. Я говорю ему, что хочу в итоге получить.

libjpeg не конвертирует, поскольку он только предоставляет внедренные профайлы. Пересчет CMYK по примитивной формуле дает дикие вырвиглазные цвета.

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

Попробуйте вот эту: http://regex.info/i/cs/sample-wonky.profile.jpg

Благодарю. Криво отображается.

libjpeg не конвертирует, поскольку он только предоставляет внедренные профайлы. Пересчет CMYK по примитивной формуле дает дикие вырвиглазные цвета.

Куда копать?

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

Куда копать?

LittleCMS (lcms2) - http://www.littlecms.com/ Все опенсурсные проекты пользуют эту либу для управления цветом. Там ничего сложного нет: загрузить профайл и получить хендл на него, из двух хендлов профайлов сделать трансформацию, используя трансфомацию сконвертировать битмап.

И обязательно сделайте сайт проекта и под винду портируйте - пользователей прибавится :)

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

LittleCMS (lcms2) - http://www.littlecms.com/

Спасибо, про это знаю.

Все опенсурсные проекты пользуют эту либу для управления цветом.

Ну display и feh не используют. И http://regex.info/i/cs/sample-wonky.profile.jpg грузят так же криво, как и мой вьювер. Не знаю, использует ли ее GIMP, но профиль он применяет.

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

Звучит просто.

И обязательно сделайте сайт проекта и под винду портируйте - пользователей прибавится :)

Даже не знаю, что размещать на сайте. А порт для винды - есть же прекрасный irfanview.

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

Цветовые профили в линукс - это совсем не то, что цветовой профиль в виндовс и макось.

Что конкретно ты пытаешься этим сказать?

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

Что конкретно ты пытаешься этим сказать?

Я пытался сказать, что откалибровать монитор и принтер нет возможности. Я ошибаюсь?

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

Не знаю, использует ли ее GIMP, но профиль он применяет.

Используют GIMP, Inkscape, Scribus и пр.

Даже не знаю, что размещать на сайте.

вьювер и размещать :) И обязательно пакеты/инсталлеры для всех систем.

А порт для винды - есть же прекрасный irfanview.

Нет повода не сделать такое же, но мультиплатформ.

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

Я пытался сказать, что откалибровать монитор и принтер нет возможности. Я ошибаюсь?

Да, причём жесточайше.

Гугли GNOME Color Manager, Argyll, DisplayCAL.

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

Я пытался сказать, что откалибровать монитор и принтер нет возможности. Я ошибаюсь?

Для вьювера это не актуально. Хотя предоставить возможность подключать профайлы монитора и принтера вполне можно. Другой вопрос, что подавляющему числу пользователей будет достаточно дженерик профайлов.

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

У меня вопрос по littlcms - в качестве input_profile я возьму профиль из jpeg/png/tiff. А что использовать в качестве output_profile?

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

Не усложняй задачу для первичного этапа. Btw Инка на сабжевом файле рисует зеленые морды :)

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

sRGB всегда должен быть фоллбэком, не более того.

Правильный приоритет:

1. Профиль из атома _ICC_PROFILE иксов. Если не получилось, то...
2. Выбранный пользователем профиль монитора. Если такого нет, то...
3. sRGB.

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

Да, причём жесточайше.
Гугли GNOME Color Manager, Argyll, DisplayCAL.

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

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

чтобы такое выполнять, надо иметь сложное управление цветом с GUI. Сабж на данном этапе не привязан к виджетсетам. Поэтому можно просто sRGB.

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

Какое устройство вывода, такой и профиль. Для показа на мониторе — профиль монитора.

И где мне его взять?

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

sRGB профайл. В lcms есть встроенный sRGB. Хреновастенький, но сойдет для начала.

Это тот случай, когда вместо второго профиля я передаю nullptr?

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

Ну то бишь, нужна поддержка со стороны приложения.

Ты десять минут назад не знал, что под линуксом есть чем калибровать (точнее, профилировать) устройства ввода и вывода графики, а теперь уже споришь, где что можно или нужно :)

Всем приложениям это и не надо. А там, где надо, это делается не так уж и сложно.

Например, в GTK+ для цветоуправляемой печати вообще ничего больше не надо делать. CUPS и colord всё упростили до безобразия.

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

И где мне его взять?

См. выше ответ про приоритеты.

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

Например, в GTK+ для цветоуправляемой печати вообще ничего больше не надо делать. CUPS и colord всё упростили до безобразия.

Мнээээ.... Саша, опять кругами вокруг лужи ;)

Печать через cairo в rgb еще то безобразие. А CUPS хавает PS/PDF - что в него положишь, то и получишь. Можно просто в CMYK отправлять.

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

Ты бы хоть матчасть свою почитал бы, а? ;)

Когда Инка печатает черный квадрат, cairo вываливает PDF файл с RGB заливкой (0,0,0). Конвертация которой на стороне CUPS в CMYK (если принтер цветной) дает cmyk ~(62%,58%,42%,99%). Результат - тонкие черные линии будут состоять из растровой розетки и по краям лохматиться.

Не, ну может ты знаешь, как заставить cairo выдать CMYK? Не жлобись, поделись секретом ;) А то мы, аки лохи, генерим PDF X/4 c CMYK содержимым и отправляем напрямую в CUPS, обходя счастие «в GTK+ для цветоуправляемой печати вообще ничего больше не надо делать».

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

Я не писал «печать в цмик из любого приложения». Я понятным русским языком написал «цветоуправляемая печать», и она действительно такая. Научись хотя бы немного слушать, что тебе говорят. В сорок годиков пора бы уже перестать вести себя как дурачок.

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

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

Саша, ты часто любишь выдавать промежуточные результаты за полноценные. Это как Инка, типа с полноценным управлением цветом, но морды импортирует зеленые :) Взрослеть вам, батенька, пора. Взрослеть.

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