2012-03-15 4 views
0

У меня возникла задача создать таблицу цветового поиска для программы в C. Таблица должна храниться в файле lut. Хорошо, я понимаю, что «lut» означает таблицу поиска, но почему этот специальный тип файла? Я видел примеры-примеры внутри кода, где они просто хранятся в виде массивов, я это понимаю. Но что я пишу в файле? Думаю, я просто напишу значения rgb в нем без каких-либо скобок или запятых и прочитал бы его с помощью fread(). Но это также работает, если я сохранил файл как .c или что-то еще. Поэтому я чувствую, что не совсем понимаю это.Использование lut-файла

Любая помощь будет оценена по достоинству.

ответ

1

Нет ничего особенного в файле таблицы поиска, и для таких файлов нет стандартизованного формата. Все зависит от компромиссов, с которыми вы хотите справиться. Если во время компиляции необходимо получить доступ к таблице, значит, это будет просто файл C (как вы уже видели). Если к нему нужно получить доступ во время выполнения в отдельном файле, вам нужно будет найти подходящий формат.

«Таблица поиска» часто подразумевает, что поиск значения будет быстрым. Возможно, наиболее подходящим является формат двоичного файла (в отличие от текстового формата, который вы должны проанализировать). Если у вас есть 256 значений RGB, каждая из которых состоит из 3 байтов, вы можете найти определенное значение RGB в файле, взяв номер цвета, умножив его на 3 и выбрав для этого места в файле.

+0

Спасибо за anwser, Майк :) Я реализовал lut как xml. –

+0

XML не был бы моим первым выбором, но я твердо убежден, что, если он решает вашу проблему, это потрясающе! :-) –

+0

Err .. Я новичок в вопросах производительности. Но мое решение было основано на требовании, чтобы пользователи могли создавать свою таблицу цветов, которая может быть загружена в программу, а xml довольно легко читать. Но я открыт для любой другой идеи. –

 Смежные вопросы

  • Нет связанных вопросов^_^