А чем не устраивает виндовая GetNearestPaletteIndex? Можно создать логическую палитру с 256 цветами и потом использовать эту функцию для преобразования RGB в индексы данной палитры. Можно пакетно преобразовывать сразу несколько пикселей.
Да я не про это Я про True Colors файл,есть палитра нужен наилучший по качеству алгоритм преобразования True Color в эту палитру
CnCVK Так почему нельзя для этого использовать GetNearestPaletteIndex или пакетную функцию преобразования палитры? True Color - это же просто RGB, так? Создаём палитру с нужными цветами (хоть 256) и перегоняем наши пиксели в эту палитру через API.
CnCVK Quantum уже почти всё присоветовал; в случае фиксированной палитры дальнейшее улучшение только через dithering.
CnCVK Где я предлагал использовать MS Paint для этих целей? Ты считаешь, что Paint - эталлон обработки цифровых изображений в Win32? Я лично использовал вышепредложенную функцию для уменьшения цветов и результатом вполне доволен. Можно и вручную посчитать "взвешенную разницу" между цветами пикселя и всеми цветами палитры. Разница должна быть взвешенной, т.к. яркость превалирует над цветностью.
При попытке сохранить 24 bit в 256 GIF получается предельно изуродованное изображение hmm...хотя я не прав. Хотя последние paintы используют MSHTML Filters и GDI+
CnCVK http://en.wikipedia.org/wiki/Color_quantization - выбирай любой на свой вкус. ИМХО, самый качественный алгоритм - Neuquant.