Пожалуйсто помогите!!! Нужно сделать кодер из bmp в gif и обратно... С чего начать? Где можно почитать попонятней?.... может у кого есть исходники
Заранее благодарен...
			
			
					
		| kosyak | 
                        
			
			  
			
				 Сообщение
					#1				
			 
		 | 
	
| 
        	
        		 Пионер ![]() ![]() Группа: Пользователи Сообщений: 100 Пол: Мужской Репутация:    0           	 | 
       
			
			 Пожалуйсто помогите!!! Нужно сделать кодер из bmp в gif и обратно... С чего начать? Где можно почитать попонятней?.... может у кого есть исходники 
			
			
					
		Заранее благодарен...  | 
	
![]() ![]()  | 
	
| andriano | 
                        
			
			  
			
				 Сообщение
					#2				
			 
		 | 
	
| 
        	
        		 Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 168 Пол: Мужской Реальное имя: Сергей Андрианов Репутация:    28           	 | 
       
			
			 Простого, очевидного и однозначного алгоритма здесь не существует. 
			
			
					
		Более того, для того, чтобы вычислить палитру близкую к оптимальной, следует занть алгоритм приведения труколорного изображения к новой палитре, т.к. при разных алгоритмах и оптимальные палитры будут различными. Самый простой и быстрый способ - использовать одну и ту же палитру на все случаи жизни, как это делает Microsoft Paint. Если нужна адаптивная палитра - несколько сложнее. Кстати, возможно, в этом случае целесообразно воспользоваться внешней программой, которая сделает всю необходимую работу для указанного файла. Кстати, если несколько файлов нужно привести к одной и той же палитре, то их надо объединить в один, после чего обрабатывать уже суммарное изображение. Если же хочется реализовать алгоритм самому, то начинают обычно с того, что заводят трехмерный массив (описывающий цвета в RGB-кубе), в каждую ячейку которого заносится количество повторений данного цвета. В самом общем случае - это 16.7 млн чисел, вероятно, 32-разрядных, т.е. 64 Мбайта. В принципе не так уж много для современных компьютеров. Но, учитывая, что потери все равно неизбежны, можно перейти от 8-битного представления каждой цветовой составляющей к 7- или 6-битному, сократив объем используемой памяти до 8 или 1 Мбайта. Проходим по изображению - заполняем массив. Находим ограничивающие плоскости, т.е. минимальные и максмальные интенсивности цветовых составляющих, встречающихся в изображении. Получаем некоторый объем цветоавого пространства, которое затем нам предстоит разбить на 256 частей, каждая из которых представляет цвет в результирующей палитре. Вот алгоритм разбиения объема на части - и есть вещь неочевидная и зависящая от дальнейшего алгоритма преобразования цвета.  | 
	
 kosyak   кодирование GIF   23.04.2008 21:10
 
 andriano   http://ru.wikipedia.org/wiki/GIF и по ссылкам.   23.04.2008 23:31
 
 kosyak   Вроде разобрался... Тока вот с LZW не до конца пон…   27.04.2008 14:31
 
 andriano   Сдвигами объединяешь нужную последовательность бит…   27.04.2008 19:55
 
 kosyak   Ага... Т.е. если LZW код выглядит так: 1 0 2, приб…   28.04.2008 0:34
 
 kosyak   И еще вопрос:
есть гиф, который закодирован в Phot…   28.04.2008 0:59
 
 kosyak   Ну что? Никто не поможет??? Объясните как работает…   5.05.2008 0:07
 
 andriano   В чем проблема?
Берешь любой GIF, преобразовываешь…   5.05.2008 0:51
 
 kosyak   
В чем проблема?
Берешь любой GIF, преобразовываеш…   5.05.2008 2:33
 
 andriano   Еще раз: возьми конкретный BMP, попытайся его зако…   5.05.2008 11:24
 
 kosyak   
Еще раз: возьми конкретный BMP, попытайся его зак…   7.05.2008 1:40
 
 andriano   Нет, форум не для того, чтобы объяснить, а для тог…   8.05.2008 2:32
 
 kosyak   Ладно, не будем спорить... Я вроде разобрался и сд…   13.05.2008 20:39
 
 kosyak   Палитру я решил делал самым простым способом, как …   15.05.2008 22:26
 
 andriano   Раз картинка смещается, значит, в программе ошибка…   16.05.2008 2:29![]() ![]()  | 
	
 
  | 
		Текстовая версия | 4.11.2025 21:49 |