Страница: 1 | 2 | 3 |
Вопрос: Архиватор
Добавлено: 30.07.06 13:02
Автор вопроса: Ellic | Web-сайт:
Вот недавно пришла мне в голову мысль о создании наобычного архиватора. Работа его такова:
1. создаётся пустой БМП рисунок с размерами
длина_файла х 1.
2. c файла считывается по одному байту допустим, в переменную g
3. в цикле заполняем рисунок по типу GRB(g,g,g). В итогу получится "длинная картинка" беспорядочно залитая оттенками серого.
4. затем этот БМП конвертиркем в ГИФ. Так как ГИФ имеет 256 цветов, то он сохранится без потери качества.
Ну вот. Об обратной конверсии думаю не имеет смысла говорить. И так сё понятно. Какие будут соображения? Очень интересно чьё-то мнение.
Ответы
Всего ответов: 36
Номер ответа: 1
Автор ответа:
Sacred Phoenix
ICQ: 304238252
Вопросов: 52
Ответов: 927
Профиль | | #1
Добавлено: 30.07.06 14:54
у меня не получилось ни разу создать gif-картинку размером больше 43714x1 (имеется в виду в длину)
Номер ответа: 2
Автор ответа:
VβÐUηìt
Вопросов: 246
Ответов: 3333
Web-сайт:
Профиль | | #2
Добавлено: 30.07.06 16:22
А гдэ, собственно, он сжимается?
Номер ответа: 3
Автор ответа:
Sacred Phoenix
ICQ: 304238252
Вопросов: 52
Ответов: 927
Профиль | | #3
Добавлено: 30.07.06 17:09
А, собственно, он сжимается при преобразовании в GIF. Если ты не знал, то GIF - это сжатый формат. Врятли у тебя получится хорошо сжать gif-картинку...
Номер ответа: 4
Автор ответа:
Серёга
ICQ: 262809473
Вопросов: 17
Ответов: 561
Web-сайт:
Профиль | | #4
Добавлено: 30.07.06 17:22
Зайди на VBStreets.ru и найди статью CyRax "Упаковка чисел". Там есть даже код на VB. Где - то на VBStreets есть ещё файл Compress _Metods.rar (воспользуйся поиском (там он работает нормально, в отличие от... других сайтов ))
Номер ответа: 5
Автор ответа:
Серёга
ICQ: 262809473
Вопросов: 17
Ответов: 561
Web-сайт:
Профиль | | #5
Добавлено: 30.07.06 17:41
Наверное, VBD имел в виду, что сжатие невозможно встроенными средствами VB. Т.е. нельзя написать
и действительно получить файл с изображением формата GIF.
Номер ответа: 6
Автор ответа:
Sacred Phoenix
ICQ: 304238252
Вопросов: 52
Ответов: 927
Профиль | | #6
Добавлено: 30.07.06 18:20
2 Серёга: если так (я про последний пост), то да, так незя. Это надо искать примеры по сжатию рисунков в GIF.
Номер ответа: 7
Автор ответа:
Ellic
Вопросов: 17
Ответов: 26
Web-сайт:
Профиль | | #7
Добавлено: 30.07.06 19:24
У меня есть отльчный пример для сохранения в GIF. И сжимает он круто. Прям как Photoshop .
Номер ответа: 8
Автор ответа:
Серёга
ICQ: 262809473
Вопросов: 17
Ответов: 561
Web-сайт:
Профиль | | #8
Добавлено: 30.07.06 19:42
Можно взглянуть?
Номер ответа: 9
Автор ответа:
Sacred Phoenix
ICQ: 304238252
Вопросов: 52
Ответов: 927
Профиль | | #9
Добавлено: 30.07.06 19:49
Кста, .NET "научился" сохранять картинки во многих форматах, в т.ч. GIF, JPEG, PNG и т.д.
Номер ответа: 10
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #10
Добавлено: 30.07.06 22:04
Алгоритмы компрессии гифа довольно старые, я бы взял пнг. Да и сам принцип архивации довольно убогий, рар рулит
Номер ответа: 11
Автор ответа:
Серёга
ICQ: 262809473
Вопросов: 17
Ответов: 561
Web-сайт:
Профиль | | #11
Добавлено: 30.07.06 22:58
А где - нибудь есть инфа про RAR? Хоть бы в общих чертах понять как он жмет.
Номер ответа: 12
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #12
Добавлено: 31.07.06 14:47
Упаковка вообще-то не сжатие. Сжатие в GIF-е происходит по методу Зива-Лемпела плюс Велча (LZW).
http://algolist.manual.ru/compress/standard/lzw.php
Номер ответа: 13
Автор ответа:
Ellic
Вопросов: 17
Ответов: 26
Web-сайт:
Профиль | | #13
Добавлено: 31.07.06 15:08
Вот я сделал наброски. Только что-то весьма странно работает... Так.. значит сейчас дам ссылку.
Номер ответа: 14
Автор ответа:
Ellic
Вопросов: 17
Ответов: 26
Web-сайт:
Профиль | | #14
Добавлено: 31.07.06 16:01
Вот:
http://www.persound.narod.ru/pS.rar
Номер ответа: 15
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #15
Добавлено: 31.07.06 18:03
2Серёга: сырцы unrar и формат RAR-файла открыты, в них можно прочитать примерно как жмет RAR. Сырцы 7Z, BZIP2 и многих других хороших архиваторов открыты полностью.