Lightweight image viewer powered by OpenGL.
I use this viewer daily for:
- Quickly browsing through a list of images.
- Determining the parameters of the area occupied by a sprite on a texture.
Advantages:
- Compact and fast.
- OpenGL support for smooth operation.
- Simple interface for quick image viewing.
- Sprite parameter determination feature.
Wide range of supported formats:
- Graphics formats: PSD, AI, EPS, PNG, XCF, JPEG 2000, JPEG, TIFF, ICO, DDS, GIF, BMP, TARGA, PNM, XWD, XPM.
- Image formats: SCR (ZX-Spectrum), WebP, OpenEXR.
Additional features:
- Multi-page TIFF.
- PNG frame support in ICO.
- View each GIF frame separately.
Advanced features:
- ICC color profile support: Ensures accurate color reproduction using embedded ICC profiles.
- Image file information: Access EXIF and other data stored in the image file (<e>).
- Smooth loading: Loads images in a separate thread with a progress indicator.
- Convenient navigation: Creates a file list and allows quick navigation to the desired position.
- GIF animation support: Plays animated images in GIF format.
- Pixel information: Displays the coordinates and color of the pixel under the cursor (key -p or <p>).
- Area selection: Allows selecting a part of the image with a frame to determine coordinates and area size.
- Quick zooming: Convenient zooming of the image using the keyboard or mouse.
- Automatic scaling: Automatically adjusts the image to fit the viewer window.
- Multi-page images: Views multi-page images using the PgUp and PgDn keys.
- OpenGL: Utilizes OpenGL for high performance and smooth operation.
- Large image splitting: Splits large images into multiple textures for performance optimization.
Simple Viewer GL source code is available on GitHub.
[…] This post was mentioned on Twitter by Siaržuk Piatroŭski and Andrey A. Ugolnik, Andrey A. Ugolnik. Andrey A. Ugolnik said: Simple Viewer GL – мелкий, но шустрый картинко-показыватель: http://www.ugolnik.info/?p=1302 […]
Просто потрясающая программа, это то, что я давно искал. Лёгкий многоформатный просмотрщик с ускорением, без привязки к тулкитам и тем более ДЕ, клавишное управление без назойливого и занимающего ценное место гуя.
Небольшой багрепорт: почему-то не работает увеличение картинки до размера окна, ни через опцию -s, ни через горячую клавишу.
Пожелание: сделать настраиваемые горячие клавиши или хотя бы для начала сделать дополнительную умолчальную клавишу «f» для переключения полноэкранного режима.
Под впечатлением от программы создал билд для арча — http://aur.archlinux.org/packages.php?ID=38746 . Может быть добавите где-то в тексте описания, если интересно.
С большим интересом буду следить за развитием программы. Спасибо вам за ваш труд.
Небольшой багрепорт: почему-то не работает увеличение картинки до размера окна, ни через опцию -s, ни через горячую клавишу.”
Это не баг. Опция scale вписывает в окно вьювера только не вмещающиеся картинки. Если картинка меньше размеров окна, то ее размеры не меняются.
Но есть кнопки “+” и “-” и колесо мыши.
“Пожелание: сделать настраиваемые горячие клавиши или хотя бы для начала сделать дополнительную умолчальную клавишу «f» для переключения полноэкранного режима.”
Это в планах.
“С большим интересом буду следить за развитием программы. Спасибо вам за ваш труд.”
Приятно слышать, что утилита оказалась полезной еще кому то.
>Это не баг. Опция scale вписывает в окно вьювера только не вмещающиеся картинки. Если картинка меньше размеров окна, то ее размеры не меняются.
Но в принципе увеличение картинки под размер окна реализуемо? Иногда бывает очень полезно, хотелось бы видеть.
>Приятно слышать, что утилита оказалась полезной еще кому то.
Думаю в своей целевой области она вне конкуренции, так что популярность, по крайней мере в узких кругах, не за горами (говорю как человек, недавно переглядевший всё, что только нашёл в области легковесных смотрелок 🙂 )
“Но в принципе увеличение картинки под размер окна реализуемо? Иногда бывает очень полезно, хотелось бы видеть.”
Реализовать то можно. Нужно подумать, как это правильно оформить.
“Думаю в своей целевой области она вне конкуренции, так что популярность, по крайней мере в узких кругах, не за горами (говорю как человек, недавно переглядевший всё, что только нашёл в области легковесных смотрелок :)”
В свое время я тоже перебрал много вьюверов. Ни один из них не подходил мне по какой-либо причине, так и появился Simple Viewer.
Очень нравится Ваша программа — давно пользуюсь sview, сейчас пробую sviewgl.
Хотелось бы уточнить один момент.
Старая версия при открытии файла, помещающегося на экране, окно открывалось по размеру изображения.
Сейчас окно всегда одного размера, и изображения туда чаще всего не помещаются, приходится запускать программу в полноэкранном режиме.
Регрессия или фича?
P.S. Ubuntu 8.04
А в полноэкранный режим вы переключаетесь средствами вьювера (по клавише Enter) или используются возможности Metacity?
По Enter (совсем вылетело из головы — у меня не GNOME, а IceWM и, соответственно, Metacity нет).
Вначале хотелось запускать sviewgl с ключом -f, но он у меня не работает.
Посмотрел код – действительно, параметр “-f” хоть и обрабатывается, но не используется для инициализации.
Пофикшу позже.
Это фича. Предполагается, что размером и положением окна в Linux должен заниматься оконный менеджер, а не программа.
Верну ли я старое поведение я еще не решил.
Возможно, я что-то не понимаю, но как оконный менеджер может определить нужный размер окна, если программа этого ему не сообщит?
Неужели в “тяжёлых” средах типа GNOME или KDE это действительно работает?!!
Впрочем, что бы Вы не решили, sview останется моей любимой “смотрелкой” под linux.
Оконный менеджер не может этого знать. Дело в том, что только пользователь (через WM) должен решать, где должно располагаться окно и какого оно должно быть размера. А приложение должно отталкиваться о того размера, который ей сообщил WM.
Необходимость всё делать руками и решать для каждого окна, где и как оно должно располагаться, иногда весьма утомительна…
По крайней мере мне очень хотелось бы иметь ключ, возвращающий старое поведение.
Хотя, конечно же, решать Вам.
Зачем решать для каждого окна? Только для нужных окон/приложений прописать правила.
Упс, не в ту ветку попал комментарий…
“Прошу прощения за глупый вопрос, но как?
И, это глобальная Xorg’овская настройка или зависит от среды?”
Зависит от WM. Про IceWM ничего не знаю, т.к. сам использую Ion3.
Решил тут после долгого времени обновиться. При сборке выдаёт следующее:
fileslist.cpp: В функции-члене «const char* CFilesList::GetName(int)»:
fileslist.cpp:191:51: ошибка: нет декларации «unlink» в этой области видимости
Объявление тут:
[code language=”cpp”]#include <unistd.h>[/code]
Пытаюсь использовать imlib2 у себя в проекте. В CMakeLists.txt возникает ругательство на find_package(IMLIB2):
CMake Warning at CMakeLists.txt:16 (find_package):
By not providing “FindIMLIB2.cmake” in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by “IMLIB2”, but
CMake did not find one.
Could not find a package configuration file provided by “IMLIB2” with any
of the following names:
IMLIB2Config.cmake
imlib2-config.cmake
Add the installation prefix of “IMLIB2” to CMAKE_PREFIX_PATH or set
“IMLIB2_DIR” to a directory containing one of the above files. If “IMLIB2”
provides a separate development package or SDK, be sure it has been
installed.
CMAKE_PREFIX_PATH устанавливал, IMLIB2_DIR – тоже, все без толку. Может есть что неочевидное (для меня по крайней мере), что заставляет-таки собраться проект с IMLIB2?
Добрый день, сколько лет, сколько зим 🙂
Судя по датам в репозитории вы что-то меняете время от времени, хорошо, что дело движется.
Пост нуждается в обновлении, нычне обновление репы делается через
svn checkout http://svn.code.sf.net/p/simpleviewer/code/ simpleviewer-code
Есть у меня и багрепорт по сборке, пришлось сваять вот такой вот патчик
— formatgif.cpp^I2014-05-21 11:51:01.000000000 +0600$
+++ formatgif1.cpp^I2014-05-21 11:36:51.000000000 +0600$
@@ -26,7 +26,7 @@$
}$
fclose(m_file);$
$
– GifFileType* file = DGifOpenFileName(filename);$
+ GifFileType* file = DGifOpenFileName(filename, NULL);$
if(file == 0)$
{$
std::cout << "Error Opening GIF image" << std::endl;$
Т.к. в gif_lib.h функция объявлена с двумя аргументами.
Обновил PKGBUILD https://aur.archlinux.org/packages/simpleviewergl-svn
Планируется ли поддержка TGA? Есть ли в ближайших планах реализация масштабирования мелких изображений до размеров окна?
Вьювер давно переехал на BitBucket, дойдут руки до исправления текущих регрессий, опубликую линк.
Дошли руки до вьювера, исправил баги, добавил новые фичи и новые форматы. Если не сложно, обновите билд. Вьювер доступен в Git на BitBucket:
git clone git@bitbucket.org:andreyu/simple-viewer-gl.git
$ git clone git@bitbucket.org:andreyu/simple-viewer-gl.git
Cloning into ‘simple-viewer-gl’…
Warning: Permanently added the RSA host key for IP address ‘131.103.20.168’ to the list of known hosts.
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
А если так?
git clone https://bitbucket.org/andreyu/simple-viewer-gl
Да, так масло пошло, дальше проблема со сборкой
$ mkdir build
$ cd build
$ cmake ../
CMake Error: The source directory “…” does not appear to contain CMakeLists.txt.
Многоточие вместо реального пути, куда клонировал сырцы. Там такого файла действительно нет.
Если сборка под Linux, то так:
$ mkdir build
$ cd build
$ cmake ../projects/linux
Но я делаю просто make linux в корне вьювера.
А, ну я просто следовал инструкциям в INSTALL, надо значит там текст обновить.
Кстати, наверное цель наверное не linux, а all.
И опять вылезла эта ошибка при сборке с gif’ом http://pastebin.com/MrU0031m
Да, INSTALL подправил, попадет в следующий билд.
Точно, цель all.
По поводу giflib, какая версия библиотеки у вас? Я использую версию 4.2.3, там такой прототип функции:
GifFileType *DGifOpenFileName(const char *GifFileName);
Один параметр – имя файла.
У меня 5.1.0 . Да, видимо дело в этом. Значит сделаю тогда патч.
Кстати, все что выше 4.2.3 замаскано и в Gentoo Prefix под OS X.
Где сейчас можно узнать идентификатор версии? Раньше я пользовался ревизией svn, сейчас у git’а какие-то неудобоваримые хеши.
В master ветке есть tag для версии. Текущая версия v2.4. Можно по тегу забирать нужную версию исходников.
Или брать head из девелоперской ветки development, но это уже для маньяков 🙂
Сваял новый пакет https://aur.archlinux.org/packages/simpleviewergl-git/
А куда нынче переехал опакеченный вьювер?
[…] Подробнее о Simpel Viewer GL. […]
[…] Эта запись и вьювер устарели. Актуальная статья и вьювер тут. […]
[…] поддержку формата PSD (растровый формат Adobe Photoshop) в Simple Viewer GL. На данный момент реализовал не все возможности, но […]
[…] Существуют версии для Windows, Linux x86, Irix N32, Solaris Sparc, BeOS x86, MacOS X, FreeBSD x86, Cygwin.Библиотека закрытая. Для коммерческого использования необходимо разрешение автора.Когда-то я использовал эту библиотеку в своем Simple Viewer, еще до появления его обновленной версии Simple Viewer GL. […]