|
0 / 0 / 0
Регистрация: 09.04.2011
Сообщений: 16
|
||||||
Конвертация BMP в свой формат28.10.2012, 01:03. Показов 8381. Ответов 31
Метки нет (Все метки)
Стоит задача сделать собственный формат изображения. Собственный формат предполагает создание собственной структуры заголовка (отличающейся от BMP), запись этого заголовка в файл и запись растровых данных с глубиной цвета 24 бита.
Программа должна открывать BMP сохранять в свой формат и наоборот (открывать свой формат и сохранять в bmp), соответственно выводить информацию за заголовка. Вот копался, читал... написал открывание bmp.... по аналогии можно и на свой формат написать.... но его сначала надо как то сохранить. Может кто написать как бы так со своим заголовком сохранить? Структура заголовка ниже...
Структура заголовка: 1. Идентификатор типа файла (2 байта) 2. Автор формата (20 байт) 3. Название программы (8 байт) 4. Размер заголовка в байтах (2 байта) 5. Размер изображения в пикселах (4 байта) 6. Глубина цвета (1 байт) - глубина постоянная 24 байта 7. Ширина изображения (4 байта) 8. Размер файла в байтах (8 байт) 9. Размер растра в байтах (8 байт) 10. Смещение растровых данных (4 байта)
0
|
||||||
| 28.10.2012, 01:03 | |
|
Ответы с готовыми решениями:
31
Формат PCX. Конвертация в BMP Кодирование Хаффмана (bmp в свой формат) |
|
0 / 0 / 0
Регистрация: 09.04.2011
Сообщений: 16
|
|||||||
| 30.10.2012, 21:58 [ТС] | |||||||
0
|
|||||||
|
|
||||||
| 30.10.2012, 22:39 | ||||||
0
|
||||||
|
0 / 0 / 0
Регистрация: 09.04.2011
Сообщений: 16
|
||
| 30.10.2012, 22:42 [ТС] | ||
|
0
|
||
|
0 / 0 / 0
Регистрация: 09.04.2011
Сообщений: 16
|
||
| 30.10.2012, 23:04 [ТС] | ||
|
есть какая нибудь функция копирования но только не с начала? =\
0
|
||
|
|
||||||
| 30.10.2012, 23:24 | ||||||
Сообщение было отмечено как решение
Решение
Ну с TMemoryStream рыть надо, но почему бы не решить задачу стандартными средствами например с помощью fstream.
Добавлено через 4 минуты Попробуй так
1
|
||||||
|
0 / 0 / 0
Регистрация: 09.04.2011
Сообщений: 16
|
|||||||
| 31.10.2012, 00:08 [ТС] | |||||||
|
как то не очень много информации по TMemoryStream =/ Добавлено через 34 минуты а что делает TMemoryStream -> Seek () я так понимаю что внутри Seek надо указать смещение и место откуда смещать... типо того:
0
|
|||||||
|
Практикантроп
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
|
||||||
| 31.10.2012, 00:17 | ||||||
|
попробуй так__
0
|
||||||
|
0 / 0 / 0
Регистрация: 09.04.2011
Сообщений: 16
|
||
| 31.10.2012, 00:31 [ТС] | ||
|
строку: TFileStream *FD = new TFileStream("2.mybmp",fmCreate|fmOpenWri te) ; Победил!! я кароче сделал как ты... только из буфера писал не в файловый поток а в поток памяти дописывал после своего заголовка... а потом весь его сохранил в файл... Сэнкъю вери матч!
0
|
||
|
Практикантроп
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
|
|
| 31.10.2012, 00:40 | |
|
Возможно с "правами" не так что-то... . У меня Win 7, Builder v.5.3, режим Release без Use Package и Dinamic Link. Работает без ошибок.
1
|
|
|
0 / 0 / 0
Регистрация: 09.04.2011
Сообщений: 16
|
|
| 31.10.2012, 00:41 [ТС] | |
|
Пасиб Ребята за помощ...
0
|
|
|
|
||||||
| 31.10.2012, 01:32 | ||||||
|
Кстати тут http://ru.wikipedia.org/wiki/BMP и заголовки есть и программа на Си
Добавлено через 47 минут Думаю можно было бы как то так:
0
|
||||||
|
0 / 0 / 0
Регистрация: 09.04.2011
Сообщений: 16
|
|||||||
| 02.11.2012, 21:00 [ТС] | |||||||
Если в BMPфайле допустим один пиксел описывается так: 27 1F ED то у меня он сохраняется так: EB 1F 27. Как бы мне так переделать сохранение чтобы он сохранял биты как в BMP файле? =\
0
|
|||||||
|
|
|||||||||||
| 02.11.2012, 21:16 | |||||||||||
Раскладывайте его на составляющие и собирайте в обратном порядке Ну и все же мой пример короче,логичнее,без привлечения VCL-классов ну и нарушения порядка байт
0
|
|||||||||||
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
| 02.11.2012, 21:28 | |
|
А зачем писать свою читалку bmp? Есть готовый класс TBitmap с методом LoadFromFile. Бери все параметры заголовка из полей объекта, а пикселы из ->Canvas->Pixels и сохраняй в свой.
0
|
|
|
0 / 0 / 0
Регистрация: 09.04.2011
Сообщений: 16
|
|
| 03.11.2012, 11:53 [ТС] | |
|
Мне ребят контрольную просто здать свою )))) Я на скорость не соревнуюсь... мне бы попроще.. ) к тому же не особо шарю в программировании... (
0
|
|
| 03.11.2012, 11:53 | |
|
Помогаю со студенческими работами здесь
20
Конвертация из bmp в png Конвертация bmp изображения в матрицу Конвертация BMP в массив и обратно Конвертация *.BMP в 3 файла *.ТХТ Конвертация bmp-файла в jpg Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
|
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi
ветка по-частям.
коммит Create переделка под биомассу. txt
вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
|