Модераторы: Alexeis
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> LoadImage, Загрузить изображение из файла 
V
    Опции темы
nikav
Дата 27.10.2009, 17:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 18.10.2009

Репутация: нет
Всего: нет



   Здравствуйте! Начал программировать под Windows Mobile на MS Visual C++ 2008. Использую при этом WinAPI.
Вот столкнулся с такой проблемой. Используя функцию LoadImage, для загрузки изображения из файла, в последнем параметре необходимо указать LR_LOADFROMFILE, а такого значения, почему то нет, есть только LR_DEFAULTCOLOR и всё. Подскажите, как быть? Как все-таки загрузить изображение?
PM MAIL   Вверх
Alexeis
Дата 27.10.2009, 17:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 4
Всего: 459



  Боюсь что _wfopen / fread , достаем заголовки, затем растр, после чего вызываешь CreateBitmap. 


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
nikav
Дата 27.10.2009, 22:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 18.10.2009

Репутация: нет
Всего: нет



Извини, а по подробней можно. Желательно с примером. И что, получается в WM загрузка через LoadImage вообще не предусмотрена?
PM MAIL   Вверх
Alexeis
Дата 27.10.2009, 22:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 4
Всего: 459



Цитата(nikav @  27.10.2009,  21:18 Найти цитируемый пост)
И что, получается в WM загрузка через LoadImage вообще не предусмотрена? 

  В WinCE упрощенный API, кой чего там нет. На счет примеров думаю следует воспользоваться поиском. Например http://forum.vingrad.ru/forum/topic-174071...tmap/index.html
http://forum.vingrad.ru/forum/topic-152088...tmap/index.html


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
nikav
Дата 27.10.2009, 22:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 18.10.2009

Репутация: нет
Всего: нет



Спасибо  smile , буду разбираться.
PM MAIL   Вверх
t_rex
Дата 31.10.2009, 00:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 143
Регистрация: 11.10.2006
Где: Украина, г. Запор ожье

Репутация: 1
Всего: 7



Не учи людей плохому smile
Вон есть отличная штука - Imaging API.
http://msdn.microsoft.com/en-us/library/aa913240.aspx
и работает побыстрее GDI.
В блоге Native Mobile (погугли адрес) есть отличные примеры как раз с этим.
--------------------
Жизнь не MultiEdit. Undo не сделаешьКросс-платформенное программирование с wxWidgetsБлог о программировании для мобильных устройтсвGoogle Android для программистов и пользователей
PM MAIL WWW ICQ Skype GTalk   Вверх
Alexeis
Дата 31.10.2009, 01:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 4
Всего: 459



Любопытно. На всякий случай скопипастю сюда пример.
Код

//Static handles for image cache
static HDC hDCI = NULL;
static HBITMAP hImage = NULL;
static RECT rcImage = {0, 0, LINKS_WIDTH, LINKS_HEIGHT};

//Function to load png a place it into DC containing 32-bit DIB
void InitializeImage()
{
IImagingFactory *pFactory = NULL;
IImage *pImage = NULL;
BITMAPINFO bInfo;

if(CoCreateInstance(CLSID_ImagingFactory, NULL, CLSCTX_INPROC_SERVER, IID_IImagingFactory, (void**)&pFactory) == S_OK)
{
if(pFactory->CreateImageFromFile(L"\\Program Files\\OzzY\\Links.png", &pImage) == S_OK)
{
ZeroMemory(&bInfo.bmiColors, 4);
bInfo.bmiHeader.biClrImportant = bInfo.bmiHeader.biClrUsed = 0;
bInfo.bmiHeader.biBitCount = 32;
bInfo.bmiHeader.biCompression = BI_RGB;
bInfo.bmiHeader.biXPelsPerMeter = bInfo.bmiHeader.biYPelsPerMeter = 3780;
bInfo.bmiHeader.biSizeImage = 0;
bInfo.bmiHeader.biHeight = LINKS_HEIGHT;
bInfo.bmiHeader.biWidth = LINKS_WIDTH;
bInfo.bmiHeader.biPlanes = 1;
bInfo.bmiHeader.biSize = sizeof(BITMAPINFOHEADER);

hDCI = CreateCompatibleDC(NULL);
hImage = CreateDIBSection(hDCI, &bInfo, DIB_RGB_COLORS, NULL, NULL, NULL);
SelectObject(hDCI, hImage);
pImage->Draw(hDCI, &rcImage, NULL);
pImage->Release();
}
pFactory->Release();
}
}

//The way I do the painting, on today screen
PAINTSTRUCT ps;
HDC hDC = BeginPaint(hwnd, &ps);
BLENDFUNCTION bfAlpha = {AC_SRC_OVER, 0, 0xFF, AC_SRC_ALPHA};

SetBkMode(hDC, TRANSPARENT);
AlphaBlend(hDC, 0, 0, LINKS_WIDTH, LINKS_HEIGHT, hDCI, 0, 0, LINKS_WIDTH, LINKS_HEIGHT, bfAlpha);
EndPaint(hwnd, &ps);


Добавлено через 2 минуты и 26 секунд
Цитата(t_rex @  30.10.2009,  23:31 Найти цитируемый пост)
и работает побыстрее GDI.

  В чем именно? В выводе текста? Или в рисовании толстых линий?


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
t_rex
Дата 31.10.2009, 19:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 143
Регистрация: 11.10.2006
Где: Украина, г. Запор ожье

Репутация: 1
Всего: 7



Цитата

В чем именно? В выводе текста? Или в рисовании толстых линий? 

В выводе изображений. У IImage метод Draw()
--------------------
Жизнь не MultiEdit. Undo не сделаешьКросс-платформенное программирование с wxWidgetsБлог о программировании для мобильных устройтсвGoogle Android для программистов и пользователей
PM MAIL WWW ICQ Skype GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование мобильных устройств"
Alexeis

Раздел посвящен программированию мобильных устройств.

Все остальные вопросы по мобильным устройствам (КПК, смартфоны, телефоны, фотоаппараты и т.п),
не имеющие отношения к программированию, просьба размещать в разделе КПК, смартфоны, мобильники

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Платформы Windows Mobile и Windows Embedded | Следующая тема »


 




[ Время генерации скрипта: 0.0955 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.