Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для мобильных телефонов > MidletPascal > Библиотеки

Ответ
 
Опции темы
Старый 20.05.2009, 09:11   #16
@llien
Оператор ЭВМ
 
Аватар для @llien
 
Регистрация: 30.01.2009
Сообщений: 41
Написано одно полезное сообщение
(для 5 участников)
Ответ: "Кодирование/декодирование изображений", или "Давайте попробуем скрыть ресурсы мидлетов"

Люди а как у фишлаба!
давайте также секлаб написал компилер\декомпилер осталось только переписать в либу и все готово!
кстати с аннимоном поговорите на эту тему! он чнибудь придумает!
__________________
MPCoder
V_V
(Offline)
 
Ответить с цитированием
Старый 27.05.2009, 11:43   #17
@llien
Оператор ЭВМ
 
Аватар для @llien
 
Регистрация: 30.01.2009
Сообщений: 41
Написано одно полезное сообщение
(для 5 участников)
Злость Ответ: "Кодирование/декодирование изображений", или "Давайте попробуем скрыть ресурсы мидлетов"

Я вообще тут кому ору
???????????????????????
?????????????????????????
???????????????????????????????????
__________________
MPCoder
V_V

Последний раз редактировалось @llien, 27.05.2009 в 11:57.
(Offline)
 
Ответить с цитированием
Старый 03.06.2009, 14:18   #18
Richik
Нуждающийся
 
Аватар для Richik
 
Регистрация: 02.05.2009
Сообщений: 68
Написано 6 полезных сообщений
(для 6 пользователей)
Плохо Ответ: "Кодирование/декодирование изображений", или "Давайте попробуем скрыть ресурсы мидлетов"

Пробовал открывать png в блокноте, удалял заголовок и картинка становилась белой. После возврата заголовка, картинка оставалась белой..
А в ДОС - эмуляторе все было нормально. При удалении заголовка картинка становилась белой, при восстановлении его, картинка опять становилась прежней..
Тут вероятно проблема в кодировки символов..

Нашел описание Чтение PNG и алгоритм декодирования:

ДЕЛАТЬ
   прочитать заголовок блока
.
   
ЕСЛИ тип сжатия 00 (без сжатия)
      
перейти к началу следующего байта
      прочитать 2 байта с длиной блока 
(LENи ещё два байта (дополнениене используется)
      
передать LEN байтов входных данных на выход
   ИНАЧЕ
      ЕСЛИ тип сжатия 10 
(с динамическими кодами Хаффмана)
         
прочитать из входных данных информацию для построения кодов длин и кодов расстояний
         
(смраздел 3.2.7"Compression with dynamic Huffman codes" RFC 1951,
         
а также функцию ReadLengths)
      
ДЕЛАТЬ
         прочитать очередной код Хаффмана и декодировать его в value
         
(смвышекаким именно образом читаются коды Хаффмана;
          
необходимо учитывать такжечто код имеет переменную длину)
         
ЕСЛИ value 256
            передать значение value на выход
         ИНАЧЕ
            ЕСЛИ value 
256 (конец блока)
               
выйти из цикла
            ИНАЧЕ 
(т.еvalue 257..285, )
               
length value
               
(согласно разделу 2. "Compressed representation overview" RFC 1951,
                
алфавит одинаков для значений (value<256и длин (value>256))

               
посмотреть в таблицу 1 раздела 3.2.5"Compressed blocks (length and distance codes)" RFC 1951
               прочитать нужное количество дополнительных битов и скорректировать length
               
(смвышекаким именно образом читаются данныене являющиеся кодами Хаффмана)

               
прочитать код Хаффмана для расстояния и декодировать его в distance
               
(смвышекаким именно образом читаются коды Хаффмана)
               
посмотреть в таблицу 2 раздела 3.2.5"Compressed blocks (length and distance codes)" RFC 1951
               прочитать нужное количество дополнительных битов и скорректировать distance
               
(смвышекаким именно образом читаются данныене являющиеся кодами Хаффмана)

               
отступить в уже декодированных данных distance байтов
               и скопировать length байтов на выход
.
               (
если lentgh>distanceнадо скопировать несколько раз)
      
ПОКА не конец блока
ПОКА не последний блок 

Надо заняться, но в последнее время что-то не получается (Драсте-драсте, как дела?, пиво - водка и пока )

Последний раз редактировалось Richik, 03.06.2009 в 14:25.
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Можно ли сделать так чтобы при нажатии "вверх" и "вниз" двигалась одна картинка, а при нажатии "вправо" и "влево" - другая Total_Nube_&_Lamo Основной форум 2 13.12.2009 22:00
"DarkWing Duck" aka "Черный Плащ" Chrono Syndrome Болтовня 19 04.12.2007 16:05
Игра "Три слова". Рассказ "Время планет" Ilyich Юмор 77 02.04.2007 17:49
"мапэд", или оживление "превед" культуры jimon Юмор 0 06.11.2006 17:45
"Пополнение рядов" или "Слава роботам!" impersonalis Юмор 1 15.08.2006 23:54


Часовой пояс GMT +4, время: 18:27.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com