Просмотр полной версии : Simple Viewer GL (Linux и macOS)
Когда-то я добавил поддержку "стандартного экрана спектрума" (6912 байт) в свой вьювер. Но недавно обнаружил, что на самом деле существует гораздо больше различных форматов. Согласно статье http://hype.retroscene.org/blog/graphics/320.html я узнал о новых для себя форматах: multicolor 8x4/8x2/8x1; standard + border; multicolor 8x4 + border; attributes (53c).
С помощью метода "научного тыка" я сделал частичную (пока не реализован бордюр) поддержку этих форматов.
Но есть несколько вопросов:
Тип формата определяю по размеру файла. Есть ли иной способ определить формат?
В некоторых изображениях одного формата битовая область идет линейно, а в некоторых как в оригинальном спектруме. Как это отличить я не придумал.
С форматом Multicolor 8x4 + Border не разобрался.
Где можно почитать спецификации этих форматов, что бы сделать все по уму?
Скриншот вьювера под Linux с загруженным PNG и информацией о выделенной области изображения:
https://bitbucket.org/repo/XgobE8/images/1203610096-simpleviewergl.png
Вьювер написан для Linux и macOS. Для создания окна использует glfw3. Для загрузки некоторых форматов используются сторонние библиотеки (libpng, giflib, libtiff, libjpeg), для остальных свои собственные велосипеды (PSD, AGE, DDS, ICO, PPM, XWD, XPM, TARGA). Исходный код находится тут:
https://bitbucket.org/andreyu/simple-viewer-gl
Версия 2.75:
Добавлена поддержка формата XPM (собственная реализация).
Убрана зависимость от библиотеки libconfig++ в пользу ini-подобного конфига.
Улучшена поддержка форматов DDS, ICO и XWD.
Добавлена поддержка формана TARGA (собственная реализация).
Обновлена палитра ZX-Spectrum (теперь это PULSAR, как на "железном" ZX).
Добавлена возможность сохранять зум (переключается по хоткею <shift>+<s>).
Исправлена ошибка с фильтрацией текстур.
Улучшено сканирование директории, поддержка drag-n-drop списка файлов.
Клонирование репозитория (для новых пользователей):
$ git clone https://bitbucket.org/andreyu/simple-viewer-gl.git
$ cd simple-viewer-gl
$ make release
Обновление до последней версии:
$ cd simple-viewer-gl
$ git checkout master
$ git pull
$ make clean
$ make release
узнал о новых для себя форматах
http://multiartist.untergrund.net/
(в галерее можно скачать картинки для проверки правильности)
standard + border; multicolor 8x4 + border
нет таких форматов. да и не надо, а отдельные примеры - не щитаюЦЦа форматом)
Бордюр (хоть и с картинкаме, хоть с мультитриколором) удобно хранить в .xpm, и ничего выдумывать не надо.
Когда нибудь да доделаю сохранение.
нет таких форматов. да и не надо, а отдельные примеры - не щитаюЦЦа форматом)
По ссылке retroscene.org утверждается обратное. Поиск по базе данных zxart.ee подтверждает наличие картинок в таких форматах.
Бордюр (хоть и с картинкаме, хоть с мультитриколором) удобно хранить в .xpm, и ничего выдумывать не надо.
В таком случае лучше вообще использовать PNG. А не xpm, который представляет из себя "c-array с описанием в текстовом формате" (кстати, мой вьювер его тоже умеет) и является нативным только для Xorg.
Когда нибудь да доделаю сохранение.
Вы о чем?
- - - Добавлено - - -
http://multiartist.untergrund.net/
Спасибо за ссылку, почитаю.
(в галерее можно скачать картинки для проверки правильности)
Я пользовался картинками из zxart.ee - но это все тот же метод "научного тыка".
К примеру есть форматы multicolor 8x4, 8x2 и 8x1 - для первых двух битовые данные лежат как для standard spectrum screen, а для 8x1 данные лежат "нормализованные". Это фича такая?
Поиск по базе данных zxart.ee подтверждает наличие картинок в таких форматах.
картинки - есть , формата - нет. Покажите хоть ОДИН! файл и вьювер для него, а еще лучше - граф. редактор под этот (не)суйщействующий формат
А так - пустое...
xpm - ну да, текстовый формат, но для описания бордюра подходит как нельзя кстати, а так да, и у меня есть сотни картинок бордюрных в формате .brd, но в xpm они было бы гораздо интереснее в плане редактирования , ну и просмотра.
Ладно. Повторюсь, пустое, я понял. край.
За вьювер спасибо,
картинки - есть , формата - нет. Покажите хоть ОДИН! файл и вьювер для него, а еще лучше - граф. редактор под этот (не)суйщействующий формат
Файл есть в базе данных, ссылку на который я дал выше. Вьювер, как минимум мой вьювер умеет (ну или пытается уметь).
Вообще я не совсем понимаю, что вы пытаетесь мне сказать. Вроде в топике я явно сказал, что меня интересует.
xpm - ну да, текстовый формат, но для описания бордюра подходит как нельзя кстати,
Он подходит не более, чем любой растровый формат.
а так да, и у меня есть сотни картинок бордюрных в формате .brd,
Это прекрасно. Но вы не единственный, кто обладает базой картинок в этом формате. Вопрос стоит не в базе данных, а в спецификации на формат.
но в xpm они было бы гораздо интереснее в плане редактирования , ну и просмотра.
В плане редактирования лучше подходит распространенный растровый формат, а не формат, который понятен нескольким вьюверам и GIMP'у.
Влил изменения из development ветки в master. В планах довести до ума поддержку бордюра в ZX-Spectrum screen и добавить свой загрузчик BMP формата, вместо кривого ImLib2.
Покажите хоть ОДИН! файл и вьювер для него, а еще лучше - граф. редактор под этот (не)суйщействующий формат
http://multiartist.untergrund.net
В таком случае лучше вообще использовать PNG.
Может, тогда будет лучше использовать TIFF?
Тогда в стандартном тэге 1 битного изображения можно хранить пиксели. Строки будут идти последовательно, а при выводе на экран спектрума надо перетасовать. В этом случае 2 плюса: Картинку можно будет просмотреть на PC любым просмотрщиком и можно будет сохранять картинки больше или меньше разрешения, чем стандартные 256х192.
Так же, надо будет ввести тэги для атрибутов. Один для стандартных и ещё 3 для мультиколора.
Следом за этим комплектом будет идти вторая картинка для гигаскрина.
- - - Добавлено - - -
И ещё вопрос по упорядочиванию атрибутов для мультиколора. Как лучше, последовательно по 768 байт или рядом идущие 2-4-8 байт относятся к 1 знакоместу?
- - - Добавлено - - -
Итак:
- Наличие одной картинки означает чб изображение.
- Наличие картинки и тэга атрибутов означает цветную картинку. Тут возможны варианты стандарт 8х8 или мультиколор 8х4, 8х2 и 8х1.
- Наличие 2 таких комплектов картинок означает гигаскрин.
- Наличие 3 шт 1 битовых картинок без тэга атрибутов означает триколор. Тут, конечно, возможно наличие атрибутов соответствующих цветов, но нужно ли оно? Думаю, не нужно.
Вы предлагаете придумать свой формат. А я веду речь о уже существующих форматах.
А есть уже существующий нормальный и универсальный? Скачал я с того сайта файлы с расширениями scr, mg2, mg4, mg8, 3, mgs. Последний я вообще не понял, там 16 байт атрибутов на знакоместо лежит. Ну и зачем этот зоопарк, если можно всё уютно положить в уже давно существующий формат, получив возможность предварительного просмотра и на других платформах? Более того, TIFF был так и задуман, чтобы можно было добавлять дополнительные тэги.
Дело хозяйское, конечно...
А есть уже существующий нормальный и универсальный?
Существующие уже есть.
Что такое нормальный для меня загадка. К примеру, BMP нормальный формат? А его заголовок весьма своеобразен. Более того, заголовок OS/2 несовместим с заголовком Windows Bitmap. В свою очередь заголовок Windows Bitmap существует как минимум в трех ходовых версиях. Данные в BMP могут быть незапакованными, RLE, JPEG, PNG. И это не считая различной битности самого битмапа. Мне сложно назвать этот формат нормальным. Но он существует.
Универсальный ли это формат? На мой взгляд, совсем не универсальный.
Скачал я с того сайта файлы с расширениями scr, mg2, mg4, mg8, 3, mgs. Последний я вообще не понял, там 16 байт атрибутов на знакоместо лежит.
Мне непонятна ваша претензия.
Ну и зачем этот зоопарк, если можно всё уютно положить в уже давно существующий формат, получив возможность предварительного просмотра и на других платформах?
Вы этот вопрос задайте тому, кто придумал эти форматы.
Более того, TIFF был так и задуман, чтобы можно было добавлять дополнительные тэги.
TIFF - это наследник IFF. От IFF отпочковалось много форматов.
А теги (полагаю, речь все же о чанках) можно хранить во многих форматах. Тот же PNG, хоть и не наследник IFF, но тоже представляет из себя набор чанков.
Дело хозяйское, конечно...
Вы о том, что я озадачился поддержкой форматов ZX-Spectrum скрина в своем вьювере? Ну да, хозяйское. Есть у меня такое желание, поддерживать те форматы, с которыми мне приходится сталкиваться. Это проще, чем уговаривать каждого из авторов zx-spectrum скрина поддерживать более распространенные форматы.
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot