Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.05.2011, 13:08   #1
[BeNdeR]
Пользователь
 
Аватар для [BeNdeR]
 
Регистрация: 14.04.2011
Сообщений: 74
Вопрос Загрузка BMP

Такая проблема - когда загружаю BMP, то выскакивает ошибка "Stream read error"! BMP размера 128х128, глубина цвета 16(windows),RGB. Что не так ?
[BeNdeR] вне форума Ответить с цитированием
Старый 11.05.2011, 13:59   #2
apromix
PHP, Delphi
Форумчанин
 
Аватар для apromix
 
Регистрация: 07.05.2008
Сообщений: 388
По умолчанию

Как вы загружаете BMP?

Нужно так:

Код:
var
  A: TBitmap;

  ...

  // Создаем и загружаем
  A:= TBitmap.Create;
  A.LoadFromFile('File.bmp');

  ...

  // Освобождаем ресурсы
  A.Free;
Если не грузится так, возможно, этот файл не bmp картинка
Мыши плакали, кололись, но продолжали жрать кактус...
мои проекты
apromix вне форума Ответить с цитированием
Старый 11.05.2011, 16:51   #3
ZotaC
Форумчанин
 
Аватар для ZotaC
 
Регистрация: 25.06.2009
Сообщений: 163
По умолчанию

Я тоже с этим сталкивался. Пришел к выводу, что проблема в размере. Попробуйте уменьшить до 127x127, например, и все должно заработать. Причину сказать не могу, но, судя по всему, изображение с размером, равным степени двойки, загружается как-то криво.
ZotaC вне форума Ответить с цитированием
Старый 11.05.2011, 21:43   #4
Alexan-Dwer
Форумчанин
 
Аватар для Alexan-Dwer
 
Регистрация: 20.04.2009
Сообщений: 136
По умолчанию

Попробуйте открыть и сохранить ваше изображение программой GIMP. Где-то читал, что некоторые графические редакторы некорректно сохраняют заголовок изображения. Есть еще вариант перевода в jpg и загрузки через TJpegImage
Alexan-Dwer вне форума Ответить с цитированием
Старый 11.05.2011, 22:36   #5
Daemonghost
Пользователь
 
Аватар для Daemonghost
 
Регистрация: 25.11.2010
Сообщений: 46
По умолчанию

возможно ошибусь, но стоит предварительно задавать высоту и ширину картинки.

Код:
img:= TBitmap.Create;
img.Height:=32; // возможны другие размеры
img.Width:=32;  // как степени 2, так и произвольные. я загружаю 342 X 245 и норм
img.LoadFromFile('img.bmp');
правда, вы наверное загружаете из потока (stream) вот он и не согласуется с требуемой от него информацией...

Последний раз редактировалось Daemonghost; 11.05.2011 в 22:40.
Daemonghost вне форума Ответить с цитированием
Старый 11.05.2011, 22:59   #6
[BeNdeR]
Пользователь
 
Аватар для [BeNdeR]
 
Регистрация: 14.04.2011
Сообщений: 74
По умолчанию

Изменил размер на 127х127 и о чудо!! Заработало))) Правда почему-то не затирается предыдущая картинка!
Вложения
Тип файла: rar Pers.rar (183.9 Кб, 20 просмотров)
[BeNdeR] вне форума Ответить с цитированием
Старый 11.05.2011, 23:56   #7
ZotaC
Форумчанин
 
Аватар для ZotaC
 
Регистрация: 25.06.2009
Сообщений: 163
По умолчанию

Во-первых, что-то мне подсказывает, что порядок строк надо немного изменить:

Код:
HideP;
x:=x-3;
Pers(i);
Sleep(80);
Во-вторых, замените свою картинку 'Hide.bmp' на эту:

Hide.bmp

И все сразу должно проясниться.

И, в третьих, если это вы так делаете игру, то я бы не стал таким образом очищать экран. Очистить можно и при помощи 'Rectangle', а рисование производить в таймере. Но это на будущее, когда будет игра.

Кстати, цвет формы слишком яркий.
ZotaC вне форума Ответить с цитированием
Старый 12.05.2011, 20:54   #8
[BeNdeR]
Пользователь
 
Аватар для [BeNdeR]
 
Регистрация: 14.04.2011
Сообщений: 74
По умолчанию

Цитата:
Сообщение от ZotaC Посмотреть сообщение
Кстати, цвет формы слишком яркий.
Это только пример, поэтому на цвет внимания не обращаю!
А ну теперь ясно! Размер картинки Hide маленьким был!! Спасибо!

Последний раз редактировалось [BeNdeR]; 12.05.2011 в 21:13.
[BeNdeR] вне форума Ответить с цитированием
Старый 13.05.2011, 17:47   #9
RomiKon
Форумчанин
 
Регистрация: 11.04.2010
Сообщений: 143
По умолчанию

Одного не пойму. Ну зачем каждый раз чтобы нарисовать спрайт его загружать?
RomiKon вне форума Ответить с цитированием
Старый 13.05.2011, 20:18   #10
ZotaC
Форумчанин
 
Аватар для ZotaC
 
Регистрация: 25.06.2009
Сообщений: 163
По умолчанию

Там не только это плохо. Я думаю, человек разберется со временем.
ZotaC вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Наложить BMP на BMP. sergeyrulit Общие вопросы Delphi 6 05.03.2015 13:41
Загрузка форматов, отличных от bmp в HBitMap. Alex Cones Общие вопросы Delphi 8 29.01.2011 14:35
Загрузка BMP в Simple Graph и сохранение в BMP формат artemavd Общие вопросы Delphi 10 02.10.2010 14:19
Загрузка bmp в TImage на WinApi ImmortalAlexSan Win Api 2 19.07.2010 17:47
MFC Загрузка файла bmp для обработки ColdDeath Visual C++ 3 05.05.2010 19:31