Create site free
сохранение в BMP - Общие вопросы разработки игр - Разработка игр на Game Maker (Simple Mode) - Форум Game Maker. Разработка игр.
Здравствуй Гость | Перейти на сайт

Главная | Форум | Регистрация | Войти
gmaker.net ;) [ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Форум Game Maker. Разработка игр. » Разработка игр на Game Maker (Simple Mode) » Общие вопросы разработки игр » сохранение в BMP (через бинарники)
сохранение в BMP
3bl3gamer Дата: Среда, 16.12.2009, 21:57 | Сообщение # 1
Хоть палкой гони
Группа: Проверенные
Сообщений: 650
Статус: Offline
хоть и в ГМе есть функции по сохранению изображений, хотелось бы написать свою. считывать из бмп получалось, да это и не сложно: прочитать размеры и с 54 бита пока файл не кончится читать тройки байтов на цвета. а вот с сохранениями в БМП уже проблемы.
я делал так: читал всё до 54 байта рабочей(сделанной пейнтнетом) БМП, сохранил в массив. потом создал новый файл, записал туда весь этот массив(т.е. скопировал заголовок файла), записал цветовые тройки байтов для каждого пиксела (пикселы брал с участка экрана драу_гетпиксел'ом). разрешение моей картинки не такое, как у исходной, так что потом я заменил участки заголовка, отвечающие за размер файла и разрешеня. вроде всё ок. аннет! прочитать получившееся "БМП" получалось ТОЛЬКО у ГМа, все остальные проги отказывались, типа "файл повреждён" и т.д.

может кто уже работал с БМПшками и поможет, а то я его ковырял-ковырял, да так и не понял, что не так...

З.Ы.: читал полученный БМП только ГМ - в смысле МОЯ программа, сделанная на ГМе.



Сообщение отредактировал 3bl3gamer - Среда, 16.12.2009, 21:59
 
Druce Дата: Среда, 16.12.2009, 22:04 | Сообщение # 2
Каждый 5й пост мой
Группа: Страж
Сообщений: 1543
Статус: Offline
Я конечно извиняюсь, но зачем изобретать гибрид верблюда с паровозом? Ведь есть же в ГМ функции для сохранения сурфейса или куска экрана напрямую в бмп, и нормально они работают. Что-то вроде surface_save.


druce.ucoz.ru|andrewsweekly.livejournal.com|А OneStep тем временем мертв.
 
Ninja Дата: Среда, 16.12.2009, 22:18 | Сообщение # 3
Хоть палкой гони
Группа: Проверенные
Сообщений: 683
Статус: Offline
попробуй сохранить одну и ту же картинку пейнтнетом и своей прогой и посмотри какие байты в файлах не совпадают


Oh, my God! You kill Kenny! You bastard!
 
3bl3gamer Дата: Среда, 16.12.2009, 22:20 | Сообщение # 4
Хоть палкой гони
Группа: Проверенные
Сообщений: 650
Статус: Offline
Quote (Druce)
Ведь есть же в ГМ функции для сохранения сурфейса

ну... а если я не на ГМе делать буду... да и вообще, для общего развития
 
FIXMAX Дата: Среда, 16.12.2009, 22:46 | Сообщение # 5
Болтун
Группа: Пользователь
Сообщений: 166
Статус: Offline
3bl3gamer, я хоть и не знаток в этом деле, но попробуй по разбирать заголовки разных БМП-шек, там наверняка есть что-то типа суммы пикселей или хеш-суммы для проверки целостности файла. Я думаю тут "собака зарыта".

Добавлено (16.12.2009, 22:46)
---------------------------------------------
Вот посмотри тут:



http://bird-parrots.ru/ - Попугаи
 
3bl3gamer Дата: Четверг, 17.12.2009, 18:23 | Сообщение # 6
Хоть палкой гони
Группа: Проверенные
Сообщений: 650
Статус: Offline
Quote (FIXMAX)
Location of bitmap data (4 bytes) - показывает, где начинается сам битовый массив относительно начала файла

а! вот в чём вся хрень была! просто на дом сайте, на котором я смотрел, значение по умолчанию для этой позиции было написано (1076 где-то), ну, я его и вписал. ща написал вместо него 54, всё, терь ок! спасибо, ща пример выложу чтоль... чтоб было.
 
3bl3gamer Дата: Четверг, 17.12.2009, 20:04 | Сообщение # 7
Хоть палкой гони
Группа: Проверенные
Сообщений: 650
Статус: Offline
вот, выложил. при нажатии пробела сохраняет верхний левый угол экрана в test1.bmp.
Прикрепления: bmp_writer.gmk(19Kb)
 
FIXMAX Дата: Четверг, 17.12.2009, 20:32 | Сообщение # 8
Болтун
Группа: Пользователь
Сообщений: 166
Статус: Offline
Да, прикольная темка. Нужно будет как-нибудь самому, по свободе, испытать.
Полезно для развития =)


http://bird-parrots.ru/ - Попугаи
 
3bl3gamer Дата: Пятница, 18.12.2009, 20:44 | Сообщение # 9
Хоть палкой гони
Группа: Проверенные
Сообщений: 650
Статус: Offline
хм. странно...
FIXMAX, судя по твоей описаловке и ещё одной на другом сайте, размер заголовка БМП постоянный (54 байта). я ща для интересу сохранил фотошопом 4-х битный чёрно-белый БМП. поробовал прочитать. вроде прочиталось, только почему-то всё сдвинуто немного вниз было, и начиналось с какой-то билибурды. я проверил записанный в файле размер заголовка (10-13 байты), и правда! он терь не 54, а 118 стал. это что ж такого фотошоп туда написал, а главное - зачем?!
 
splean Дата: Суббота, 19.12.2009, 00:04 | Сообщение # 10
Каждый 5й пост мой
Группа: Админы
Сообщений: 1473
Статус: Offline
свои позывные, типа "Edited by Adobe PS". Серьезно, может быть.


Блог?
Твиттер! =)
 
Форум Game Maker. Разработка игр. » Разработка игр на Game Maker (Simple Mode) » Общие вопросы разработки игр » сохранение в BMP (через бинарники)
Страница 1 из 11
Поиск:



Сообщество Gmaker.SU 2005-2012
Используются технологии uCoz
Простой вход