Важная информация

User Tag List

Страница 5 из 26 ПерваяПервая 123456789 ... ПоследняяПоследняя
Показано с 41 по 50 из 255

Тема: Вектор-06Ц: Средства разработки

  1. #41
    Activist Аватар для PPC
    Регистрация
    01.03.2011
    Адрес
    Stamford
    Сообщений
    335
    Спасибо Благодарностей отдано 
    46
    Спасибо Благодарностей получено 
    42
    Поблагодарили
    18 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Image Data Converter

    Две программки, прямо со сковородки. Обе с исходниками.

    1. IDC.COM - Image Data Converter

    Конвертирует Windows или OS/2 bitmap размером от 1x1 до 256x256 пикселов в формат несжатой Векторовской видеопамяти. Входной .BMP файл должен иметь 4 бита на пиксел без RLE компрессии. Выходной файл всегда будет иметь размер 32K и может быть просмотрен утилитами 2DSCI.COM, GRAB.COM (см. пост выше) или SHIM.COM (см.ниже в этом посте). Изображение меньшего размера всегда выводится в левом нижнем углу. Утилита GRAB использует такой-же формат, поэтому возможно выдирать куски из полученного изображения и создавать спрайты в многочисленных форматах, которые GRAB поддерживает.

    Во время конвертации, IDC.COМ также производит текстовый файл с исходным именем .BMP файла и расширением .PAL, содержащий палитру, конвертированную из 24-битового цветового пространства в Векторовскую 8-битовую палитру. Файл содержит палитру в виде кода на ассемблере вида:
    DB xx
    ...
    DB yy
    и может быть немедленно использован для ассемблирования. Комментарии в файле содержат исходные цвета в .BMP картинке и рассчитанное значение яркости. Поддерживается десятичный (по умолчанию) и шестнадцатиричный (опция IDC -h1) форматы вывода палитры. Алгоритм нахождения ближайшего цвета пока довольно примитивный, поэтому возможны повторения цветов, что может быть исправлено дальнейшим редактированием .pal файла.
    По умолчанию, IDC производит "зеркальное" копирование плоскостей из BMP, так, что цвет 0 соответствует плоскости 0xE000, а цвет 8 - плоскости 0x8000. Зеркальное копирование можно отменить опцией
    IDC -f0
    Опция IDC -vX, где X=0,1,2 задаёт объём выдаваемой информации об исходном изображении и диагностики во время конвертирования.
    Процесс конвертирования достаточно долгий, и требует большого количества обращений к диску, так что лучше используйте квазидиск.
    Исходники для компилятора Supersoft C прилагаются.

    2. ShIm.COM - Show Image
    Позволяет посмотреть картинку, сгенерённую утилитой IDC в цветах из файла палитры в 16-цветном режиме. Не портит содержимое квазидиска.
    Единственное условие, цвета в файле палитры должны быть в десятичной системе счисления.
    Файл палитры может содержать и больше строчек с цветами, ShIm будет использовать только первые 16. Выход из просмотра - клавиша BackSpace.
    Исходники для m80 прилагаются.
    Вложения Вложения
    • Тип файла: zip idc.zip (52.6 Кб, Просмотров: 138)
    Последний раз редактировалось PPC; 15.09.2012 в 08:17.

  2. #42
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,843
    Спасибо Благодарностей отдано 
    654
    Спасибо Благодарностей получено 
    1,818
    Поблагодарили
    1,044 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    О, я тоже нечто отдаленно похожее делал. Там слегка устаревшая версия (вроде уровни не соотвествуют текущим версиям эмуляторов, еще какая-нибудь мелочь).

  3. #43
    Activist Аватар для PPC
    Регистрация
    01.03.2011
    Адрес
    Stamford
    Сообщений
    335
    Спасибо Благодарностей отдано 
    46
    Спасибо Благодарностей получено 
    42
    Поблагодарили
    18 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    О, я тоже нечто отдаленно похожее делал. Там слегка устаревшая версия (вроде уровни не соотвествуют текущим версиям эмуляторов, еще какая-нибудь мелочь).
    А я даже немножко пользовал SPRView.
    Вот, собсно, результат прогона BMP через IDC на VV, затем-screenshot и в JPG. Не все цвета совпали, но вроде на оригинал-похоже.
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	ToolKit_3-28-42 AM.jpg 
Просмотров:	296 
Размер:	92.3 Кб 
ID:	37367  

  4. #44
    Activist Аватар для PPC
    Регистрация
    01.03.2011
    Адрес
    Stamford
    Сообщений
    335
    Спасибо Благодарностей отдано 
    46
    Спасибо Благодарностей получено 
    42
    Поблагодарили
    18 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Главная проблема сейчас - найти более разумный алгорим подгонки цветов. На картинке выше пара-тройка цветов совпала, потому, как алгоритм сейчас донельзя примитивный (ниже - кусок функции GenPal() из IDCLib.c)
    Код:
    		/* BGR(8,8,8) to BGR(2,3,3) */
    				
    		b = rgb->rgbBlue  / 64;
    		g = rgb->rgbGreen / 32;
    		r = rgb->rgbRed   / 32;
    		l = (rgb->rgbBlue + rgb->rgbGreen + rgb->rgbRed) / 3;
    		
    		
    		color[i] = (b << 6) + (g << 3) + r;

  5. #45
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,843
    Спасибо Благодарностей отдано 
    654
    Спасибо Благодарностей получено 
    1,818
    Поблагодарили
    1,044 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Сначала я тоже так делал, потом стал по евклидовой метрике искать ближайшие цвета к векторовским, вроде так все же лучше и правильнее. Причем "векторовские цвета" желательно задавать конфигом, чтобы можно было без перекомпиляции изменить. А то в VV одни цвета, в emu - другие, мне кажутся правильными третьи, да и у каждого векториста свое собственное мнение, какой д.б. палитра.
    В утилите Романа кстати много вариантов, но задания палитры, к которой подгоняем, нет. Хотя у него там есть другие "регуляторы".

  6. #46
    Activist Аватар для PPC
    Регистрация
    01.03.2011
    Адрес
    Stamford
    Сообщений
    335
    Спасибо Благодарностей отдано 
    46
    Спасибо Благодарностей получено 
    42
    Поблагодарили
    18 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Погляжу, на Евклида, спасибо. В принципе, так как конвертилка у меня генерит отдельный файл с палитрой, где в комментариях стоят исходные цвета, можно написать какой-нибудь постпроцессор "уточнения палитры с опциями" перед тем как просматривать изображение.
    Можно конечно и ручками, в обычном текстовом редакторе палитру править, "разводя" сдублированные цвета. Всё-же, это средство разработки, побочный эффект моей основной задачи, поделка, зробленная "на коленке" за 3 дня. В общем, покумекаю, но не очень много.

  7. #46
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  8. #47
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,843
    Спасибо Благодарностей отдано 
    654
    Спасибо Благодарностей получено 
    1,818
    Поблагодарили
    1,044 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Сейчас посмотрел, у меня в последней версии (1.79) так:
    На основании уровней из конфига формируем полную векторовскую палитру (256 цветов) с 8 битами на компоненту. Потом перебираю каждый цвет палитры картинки и ищу ближайший цвет в векторовской картинке по метрике
    (r1-r2)*(r1-r2)+(g1-g2)*(g1-g2)+(b1-b2)*(b1-b2)
    Может это тоже не лучший вариант, но он мне понравился больше, чем просто отбрасывание бит (которое, фактически, является частным случаем)

  9. #48
    Activist Аватар для PPC
    Регистрация
    01.03.2011
    Адрес
    Stamford
    Сообщений
    335
    Спасибо Благодарностей отдано 
    46
    Спасибо Благодарностей получено 
    42
    Поблагодарили
    18 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  10. #49
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,843
    Спасибо Благодарностей отдано 
    654
    Спасибо Благодарностей получено 
    1,818
    Поблагодарили
    1,044 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от PPC Посмотреть сообщение
    возможны-ли совпадения конечных цветов по такой метрике или исключены
    Возможны, и "слияния" идентичных (по результирующей векторовской палитре) цветов в один я не сделал, недоработка (если не просто конвертить картинки "на посмотреть", а для игрушек и т.п.).

  11. #50
    Activist Аватар для PPC
    Регистрация
    01.03.2011
    Адрес
    Stamford
    Сообщений
    335
    Спасибо Благодарностей отдано 
    46
    Спасибо Благодарностей получено 
    42
    Поблагодарили
    18 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Думается, надо делать двухпроходный алгоритм. На первом проходе исключать при поиске уже отобранные цвета, помечая совпадение, и подбирая ближайший наилучший из оставшихся, а на втором проходе - ранжировать совпавший и наилучший по luminosity. Как-то так наверное.

Страница 5 из 26 ПерваяПервая 123456789 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Чего мешает быть счасливым? (О средствах разработки)
    от shade в разделе Программирование
    Ответов: 40
    Последнее: 02.12.2020, 09:13
  2. Ответов: 128
    Последнее: 31.07.2018, 15:33
  3. Асмы и удобство разработки
    от moroz1999 в разделе Программирование
    Ответов: 46
    Последнее: 06.09.2006, 11:46
  4. Обзор средств разработки
    от POV в разделе Программирование
    Ответов: 15
    Последнее: 03.02.2006, 17:27

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •