LINUX.ORG.RU
ФорумTalks

SimpleViewer GL


0

1

Обновил SimpleViewer GL, из нового:

  • поддержка многостраничных ICO и GIF (но автоматической анимации все еще нет), клавиши PgUp и PgDn;
  • информация о текущем пикселе (координата и цвет в формате ARGB);
  • поправлены различные баги.

Внешний вид SimpleViewer GL.

Краткое описание возможностей для тех, кто не слышал о нем ранее: простая смотрелка графических файлов. Поддерживаются все те форматы, которые знает Imlib2, PSD (не полная поддержка, мало спецификаций нашел), MS ICO (не поддерживаются фреймы в новом формате, т.к. не нашел описания), PNG (через libpng), JPEG (через libjpeg), GIF (через giflib).

  • отсутствие графического интерфейса;
  • не имеет привязки к WM / DE;
  • использует OpenGL для отображения, масштабирования (большое изображение разбивается на нужное кол-во мелких текстур);
  • быстрое скроллирование изображения с помощью клавиатуры или мышки;
  • отображение информации об изображении (объем занимаемой памяти, размер изображения в пикселях, номер изображения в списке, кол-во страниц во многостраничном файле);
  • возможность отключения информационной строки;
  • отображение информации о пикселе под курсором;
  • возможность рекурсивно обойти все вложенные директории (параметр -r командной строки) и составить плоский список;
  • изменение размера изображения для того, что бы оно вписалось в окно с соблюдением пропорций;
  • возможность смены подложки изображения («шахматная доска» или однотонная заливка выбранным цветом);
  • возможность включения рамки вокруг изображения (полезно для определения реальных границ изображения с прозрачностью);
  • автоматическое отключение курсора через несколько секунд после прекращения движения мышки);

Скачать можно с SourceForge, есть готовый бинарник и сорцы: http://simpleviewer.sourceforge.net/

Но я рекомендую брать версию из репозитория:

$ svn co https://simpleviewer.svn.sourceforge.net/svnroot/simpleviewer simpleviewer 
$ cd simpleviewer
$ make

★★★★★

Последнее исправление: andreyu (всего исправлений: 3)

Режим отображения информации о текущем цвете включается или из командной строки с помощью параметра -p, или клавишей P на клавиатуре.

andreyu ★★★★★
() автор топика
make: *** Нет правила для сборки цели `install'.  Останов.

Бугога. И если развернуть во весь экран, не перерисовывает окно, отчего возникает бардак и непонимание.

thesis ★★★★★
()
Ответ на: комментарий от thesis
make: *** Нет правила для сборки цели `install'.  Останов.

Да, тут я ошибся, такого правила я не писал. Скопируйте бинарник в любое удобное для вас место.

> Бугога. И если развернуть во весь экран, не перерисовывает окно, отчего возникает бардак и непонимание.

Как разворачиваете на весь экран?

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

> можно скриншот для танковых частей?

Добавил ссылку на скриншот.

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

> управление показом - через хоткеи, справка о них - через $0 --help ?

Да, все на хоткеях. Справка - запуск без параметров.

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

квадраты почему-то рисуются на всём фоне, а не строго под картинкой. Сколько форматов поддерживает? PSD? XCF?

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

> Разворачиваю тычком в кнопку на заголовке окна. Kwin без эффектов, карточка intel, если это важно.


Значит приложение не получает сообщение об изменении окна. Кто в этом виноват я не знаю. Может FreeGLUT, а возможно драйвер.
Дайте скриншот.

Что происходит по нажатию Enter?

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

> квадраты почему-то рисуются на всём фоне, а не строго под картинкой.

Скриншот, пожалуйста.

Сколько форматов поддерживает? PSD? XCF?


На данный момент поддерживается все, что умеет Imlib2, PSD (не полная поддержка, мало спецификаций нашел), MS ICO (не поддерживаются фреймы в новом формате, т.к. не нашел описания), PNG (через libpng), JPEG (через libjpeg), GIF (через giflib).

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

можно было и на главную написать..

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

Вот.

Это то, что я вижу после нажатия на кнопку «развернуть». В нижнем углу осталось окно «как оно было» до разворачивания.

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

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

> >arial.ttf в исходниках

это нормально?


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

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

> > Используется OpenGL (FreeGLUT).

Отлично, оно ещё живо? Много ли его народу двигает? Есть будущее?


Ну пока OpenGLUT его не переплюнул.

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

> Это то, что я вижу после нажатия на кнопку «развернуть». В нижнем углу осталось окно «как оно было» до разворачивания.

Может в верхнем левом? По любому это баг. Буду думать. Сам использую Ion3, поэтому таких проблем у меня нет впринципе.

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


В том смысле, что от окна остается только тайтлбар? По поводу восстановления позиции окна - посмотрю, что можно сделать.

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

А его лицензия это позволяет? Liberation'ом (или любым другим шрифтом, который пользователю понравится), не?

Proprietary font

Arial is a proprietary font.[14] Monotype Imaging is the current owner of the copyrights for the Arial font software. It is not allowed to modify, alter, translate, convert, or otherwise change the computer font, or to create derivative works from it or any portion thereof.[15][16] It is also not allowed to rent, lease, sublicense, give, lend, or further distribute the computer font, or any copy thereof, without purchasing a license.[15][16][17]

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

> А его лицензия это позволяет? Liberation'ом (или любым другим шрифтом, который пользователю понравится), не?

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

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

>>А как я по вашему должен текстовую информацию выводить?

Исходя из настроенных шрифтов в иксах, возможно даже с плавающим выбором исходя из популярности.

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

> Исходя из настроенных шрифтов в иксах, возможно даже с плавающим выбором исходя из популярности.

Для этого нужно подключаться к X-серверу. Так было в SimpleViewer, а в SimpleViewer GL я полностью отказался от непосредственной работы с X.

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

>>> квадраты почему-то рисуются на всём фоне, а не строго под картинкой.

Скриншот, пожалуйста.


Они рисуются даже несмотря на то, что в JPEG нету прозрачности:

http://img839.imageshack.us/img839/6124/72494134.jpg

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

Я нынче использую только Liberation Sans, так что могу только его посоветовать. Оно GPL2 + исключения.

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

> Они рисуются даже несмотря на то, что в JPEG нету прозрачности:

http://img839.imageshack.us/img839/6124/72494134.jpg


Тут все правильно. Где нет изображения с альфой, там «шахматка». А что по вашему там должно быть?

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

> Я нынче использую только Liberation Sans, так что могу только его посоветовать. Оно GPL2 + исключения.

Нет у меня такого. Да и исключения пугают, не хочется сменить шило на мыло,

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

> Почему? Если программа работает только в X, то надо использовать X по полной.

Да потому, что OpenGL / *GLUT не предоставляют хендла к соединению с X-сервером.

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

Может быть (повторюсь, может быть) я откажусь от *GLUT и буду создавать окно как и раньше с помощью xlib или xcb.

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

Ну или опцию пользователю в конфиге.

Deleted
()

Спасибо за софтину, хорошая.

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

Ёще баг: на отмасштабированых картинках иногда видно тёмные полосы: пример1, пример2

xetf ★★
()

Чем оно лучше feh/geeqie?

не имеет привязки к WM / DE


Может всё-таки «к toolkit / DE»? А то я про смотрелки, привязанные к флюксу или авесому, ещё ни разу не слышал… :)

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

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

Да, есть такое в планах.

Пока задал нужные опции редактированием сорцов, но это извращение же.


alias не подойдет?

Ёще баг: на отмасштабированых картинках иногда видно тёмные полосы


Какой драйвер / карта?

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

> Чем оно лучше feh/geeqie?

Ну к примеру этими пунктами:
1. поддерживает больше форматов.
2. умеет многостраничные ico / gif.
3. показывает инфу об имидже.
4. показывает инфу о пикселе под курсором.
5. умеет корректно строить дерево файлов (попробуйте запустить feh desired_image.png и после этого попробуйте перейти на предыдущее/следующее изображение).

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

Может всё-таки «к toolkit / DE»? А то я про смотрелки, привязанные к флюксу или авесому, ещё ни разу не слышал… :)


Да, наверное так будет правильнее.

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

Только что залил в репозиторий новый билд, который умеет грузить ICO с фреймами в формате PNG.

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

>alias не подойдет?

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

Какой драйвер / карта?


x11-drivers/xf86-video-ati-6.13.1
01:00.0 VGA compatible controller: ATI Technologies Inc RV350 AS [Radeon 9550]

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

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

Пока я не прикручу поддержку конфига, можете написать врапер.

x11-drivers/xf86-video-ati-6.13.1


Спасибо, нужно будет поискать АТИ.

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

«шахматка» имхо должна быть под изображенем (и только под ним), когда оно может иметь альфа канал. Иначе зачем она, можно просто показать фон определённого цвета.

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

> «шахматка» имхо должна быть под изображенем (и только под ним), когда оно может иметь альфа канал. Иначе зачем она, можно просто показать фон определённого цвета.

Я с вами не согласен. Если это нужно для определения границ изображения, то режим отображения бордюра включается параметром -b или клавишей <B>.

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

> Скажите, а ваш просмотрщик умеет работу с большими растровыми изображениями, так, как, например, видит это Витус:

http://groups.google.com/group/linux.debian.user.russian/browse_thread/thread...


Нет, сейчас он работает с изображениями, которые умещаются _распакованными_ в память. При этом создается множество текстур. Но после загрузки работа с изображением выполняется очень быстро. К примеру с изображениями разрешением 10 000 х 15 000 вьвер справляется, но память жрет не по детски.

В планах есть пункт по поддержке изображений любого размера.

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

Добавил поддержку многостраничного TIFF, исправил несколько багов. Забирать из репозитория.

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

Просмоторщик Openev умеет это делать http://openev.sourceforge.net/. (Он использует библиотеку GDAL).

При этом не использует свап и расходует лишь несколько десятков мегабайт озу.

Он специально создан для просмотра фотографий гига-размеров.

xcreatepixmap
()

Исправили ли этот баг ?

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

Я от этого глюка был в шоке.

xcreatepixmap
()
Ответ на: Исправили ли этот баг ? от xcreatepixmap

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

Не замечал этого бага. Посмотрю ,в чем проблема.

Я от этого глюка был в шоке.


Какой вы впечатлительный ;)

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