Палитра и True Color

Тема в разделе "WASM.ASSEMBLER", создана пользователем CnCVK, 24 окт 2006.

  1. CnCVK

    CnCVK New Member

    Публикаций:
    0
    Регистрация:
    9 авг 2006
    Сообщения:
    108
    Кто-нибудь может подсказать хороший алгоритм преобразования 16, 24, 32bit в 256 palette colors?
     
  2. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    А чем не устраивает виндовая GetNearestPaletteIndex? Можно создать логическую палитру с 256 цветами и потом использовать эту функцию для преобразования RGB в индексы данной палитры. Можно пакетно преобразовывать сразу несколько пикселей.
     
  3. CnCVK

    CnCVK New Member

    Публикаций:
    0
    Регистрация:
    9 авг 2006
    Сообщения:
    108
    Да я не про это :)
    Я про True Colors файл,есть палитра
    нужен наилучший по качеству алгоритм преобразования True Color в эту палитру :)
     
  4. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    CnCVK
    Так почему нельзя для этого использовать GetNearestPaletteIndex или пакетную функцию преобразования палитры? True Color - это же просто RGB, так? Создаём палитру с нужными цветами (хоть 256) и перегоняем наши пиксели в эту палитру через API.
     
  5. clone

    clone New Member

    Публикаций:
    0
    Регистрация:
    4 июл 2006
    Сообщения:
    84
    CnCVK
    Quantum уже почти всё присоветовал; в случае фиксированной палитры дальнейшее улучшение только через dithering.
     
  6. CnCVK

    CnCVK New Member

    Публикаций:
    0
    Регистрация:
    9 авг 2006
    Сообщения:
    108
    Запусти в MS Paint для примера :)
    И попробуй BMP 24bit -> GIF :lol: :lol:

    Подробней можно?
     
  7. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    CnCVK
    Да алгоритмов много. Ищи по словам: "Квантизация - уменьшение цветов изображения"
     
  8. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    CnCVK
    Где я предлагал использовать MS Paint для этих целей? Ты считаешь, что Paint - эталлон обработки цифровых изображений в Win32? Я лично использовал вышепредложенную функцию для уменьшения цветов и результатом вполне доволен. Можно и вручную посчитать "взвешенную разницу" между цветами пикселя и всеми цветами палитры. Разница должна быть взвешенной, т.к. яркость превалирует над цветностью.
     
  9. CnCVK

    CnCVK New Member

    Публикаций:
    0
    Регистрация:
    9 авг 2006
    Сообщения:
    108
    При попытке сохранить 24 bit в 256 GIF получается предельно изуродованное изображение :)
    hmm...хотя я не прав. Хотя последние paintы используют MSHTML Filters и GDI+
     
  10. Atlantic

    Atlantic Member

    Публикаций:
    0
    Регистрация:
    22 июн 2005
    Сообщения:
    322
    Адрес:
    Швеция