Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

LoadImage() из массива.

472
12 августа 2006 года
Vovka
139 / / 10.02.2005
Проблема такая.
Раньше картинку я загружал так:
HBITMAP hBitmap = (HBITMAP)::LoadImage(0, "c:\\1.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);
А вот теперь необходимо тоже сделать, но загрузить из массива.
Пока делаю так: сохраняю массив в файл, а потом читаю вышеуказанной функцией.
Подскажите, можно ли обойтись без выгрузки в файл, а напрямую загрузить из массива?
240
12 августа 2006 года
aks
2.5K / / 14.07.2006
Что ты имеешь ввиду под массивом? Область памяти содержащую точки битмапа? Если да, то
SetBitmapBits( HBITMAP hbmp, DWORD cBytes, CONST VOID *lpBits);
SetDIBits(HDC hdc, HBITMAP hbmp, UINT uStartScan, UINT cScanLines,CONST VOID *lpvBits, CONST BITMAPINFO *lpbmi, UINT fuColorUse);
472
12 августа 2006 года
Vovka
139 / / 10.02.2005
Допустим я в массив картинку загрузил так:
FILE *f;
f = fopen("C:\\1.bmp","r");
fread(mass,1024,1,f);
fclose(f);

А вот как теперь?
10K
14 августа 2006 года
Sonic_amiga
34 / / 19.06.2006
А что вообще ты хочешь сделать? Нахрена тебе хранить сырые данные в памяти?
Если хочешь жестко запихать картинку в свое приложение, то для этого есть ресурсы. Если нет - ну так и грузи ее из файла... Что еще надо?
240
14 августа 2006 года
aks
2.5K / / 14.07.2006
[QUOTE=Vovka]Допустим я в массив картинку загрузил так:
FILE *f;
f = fopen("C:\\1.bmp","r");
fread(mass,1024,1,f);
fclose(f);

А вот как теперь?[/QUOTE]
Это уже не массив данных с изображением. Это уже просто копия файла bmp в памяти. А там самих данных картинки содержатся еще и заголовки с параметрами этих данных. Так что или считывать уже вручную из памяти так же как из файла. Благо что формат там элементарный. Либо перенаправлять как то чтение из файла в чтение из памяти для стандартных функций. Хотя дейстаительно непонятно зачем такое надо - считывать файл в память, а потом доставать битмап уже оттуда )))
472
14 августа 2006 года
Vovka
139 / / 10.02.2005
У меня картинка-заставка занимает около 500кБ. Пробовал ее оптимизировать в фотошопе - теряется красота. Сжал зипом - около 30кБ. Достаю из ресурса архив, распаковываю в память и ... застрял. Сейчас распаковываю во временной файл, вывожу заставку, а потом файл удаляю. Но здесь появляется дополнительная задержка. Вот я и хотел доставать картинку из памяти.
350
14 августа 2006 года
cheburator
589 / / 01.06.2006
DirectX рулит :)
Создал поверхность и кидай туда содержимое массива.
533
10 сентября 2006 года
Visualex
254 / / 07.01.2005
HBITMAP hBmp[5];
for(int index=0; index<5; index++)
{
hBmp[index] = (HBITMAP)::LoadImage(AfxGetInstanceHandle(),
"1.bmp",
IMAGE_BITMAP, 0, 0,
LR_LOADFROMFILE | LR_CREATEDIBSECTION);
}
Попробуй так...
533
10 сентября 2006 года
Visualex
254 / / 07.01.2005
Хех! Не обратил внимания! 10.02.2005!!!
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог