Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Работа с Bitmap 
:(
    Опции темы
Solomon
Дата 16.4.2007, 11:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 471
Регистрация: 23.1.2006
Где: Украина Киев

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



Вот так я открываю и рисую bmp-шку

Код

    //отрываем картинку
    HANDLE hdibCurrent1 = OpenDIB((LPSTR)sLevel.GetBuffer());
    hbm=0;    
    
    //Получить указатель на изображение
    hbm=BitmapFromDib(hdibCurrent1,0); 
    //Записать параметры изображения 
    GetObject(hbm,sizeof(BITMAP),(LPSTR)&bm);
        
    CPaintDC dc(this); // device context for painting
    HDC hdc=::GetDC(m_hWnd);
    HDC hdcBits=::CreateCompatibleDC(hdc);
    //Выбрать объект
    SelectObject(hdcBits,hbm); 

    //Вывести изображение
    BitBlt(hdc, 88, 179, 32, 32,hdcBits,0,0, SRCCOPY); 

    //Удалить DC
    DeleteDC(hdcBits);



Все у меня нормально вышло, только вот никак нигде немогу найти как можно изменить размеры картинки...
т.е. допусти в файлике хранится картинка размером 32 на 32, а отоброзить мне надо 64 на 64... Как можно увеличть или уменьшить размер картинки?


--------------------
Если не идти до конца к поставленным целям и не пытатся их достигнуть, каким бы тяжелым не казался путь, то лучше и не ставь их перед собой, но тот кто не ставит перед собой труднодоступные цели, никогда не ощутит эйфорию настоящей победы... победы над миром...
Соломон 2008
PM MAIL ICQ GTalk YIM   Вверх
_hunter
Дата 16.4.2007, 11:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

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



StretchBlt
ну и на SetStretchBltMode посмотри...


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
Solomon
Дата 16.4.2007, 12:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 471
Регистрация: 23.1.2006
Где: Украина Киев

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



Поексперементироал с паметрами, но то то невыходит  smile 
можно немного поподробнее о использовании данной функции?  smile

Добавлено @ 12:06
Я просто с Bitmap неразу в жини не работал, как и с библиотекой MFC тоже толком неработал... но вот пришлось млин ( 

Это сообщение отредактировал(а) Solomon - 16.4.2007, 12:07


--------------------
Если не идти до конца к поставленным целям и не пытатся их достигнуть, каким бы тяжелым не казался путь, то лучше и не ставь их перед собой, но тот кто не ставит перед собой труднодоступные цели, никогда не ощутит эйфорию настоящей победы... победы над миром...
Соломон 2008
PM MAIL ICQ GTalk YIM   Вверх
Solomon
Дата 16.4.2007, 15:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 471
Регистрация: 23.1.2006
Где: Украина Киев

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



Ну, народ... кто нибуть  smile 


--------------------
Если не идти до конца к поставленным целям и не пытатся их достигнуть, каким бы тяжелым не казался путь, то лучше и не ставь их перед собой, но тот кто не ставит перед собой труднодоступные цели, никогда не ощутит эйфорию настоящей победы... победы над миром...
Соломон 2008
PM MAIL ICQ GTalk YIM   Вверх
_hunter
Дата 16.4.2007, 16:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

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



что там подробнее писать? все параметры (окромя целевого/текущего разрешения) такие же как и в BitBlt...
если что-то всеравно остается неясным -- просто поищи по форуму. не поможет -- поищи по гуглу...


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
zkv
Дата 16.4.2007, 20:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Участник Клуба
Сообщений: 2133
Регистрация: 23.7.2006
Где: Санкт-Петербург

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



Цитата(Solomon @  16.4.2007,  12:05 Найти цитируемый пост)
Я просто с Bitmap неразу в жини не работал, как и с библиотекой MFC тоже толком неработал...

и МСДН вы читать не умеете  smile, код ваш не читал просто заменил BitBlt на StretchBlt 
Код

 //отрываем картинку
    HANDLE hdibCurrent1 = OpenDIB((LPSTR)sLevel.GetBuffer());
    hbm=0;    
    
    //Получить указатель на изображение
    hbm=BitmapFromDib(hdibCurrent1,0); 
    //Записать параметры изображения 
    GetObject(hbm,sizeof(BITMAP),(LPSTR)&bm);
        
    CPaintDC dc(this); // device context for painting
    HDC hdc=::GetDC(m_hWnd);
    HDC hdcBits=::CreateCompatibleDC(hdc);
    //Выбрать объект
    SelectObject(hdcBits,hbm); 
    //Вывести изображение
int iOldMode = SetStretchBltMode( hdc, HALFTONE );//лучше смотреться будет, особенно при увеличении
/*
BOOL StretchBlt(
  HDC hdcDest,      // handle to destination DC
  int nXOriginDest, // x-coord of destination upper-left corner
  int nYOriginDest, // y-coord of destination upper-left corner
  int nWidthDest,   // width of destination rectangle
  int nHeightDest,  // height of destination rectangle
  HDC hdcSrc,       // handle to source DC
  int nXOriginSrc,  // x-coord of source upper-left corner
  int nYOriginSrc,  // y-coord of source upper-left corner
  int nWidthSrc,    // width of source rectangle
  int nHeightSrc,   // height of source rectangle
  DWORD dwRop       // raster operation code
);*/    
    StretchBlt(hdc, 88, 179, 64, 64, hdcBits, 0, 0, 32, 32, SRCCOPY); 
    SetStretchBltMode( hdc, iOldMode );
    //Удалить DC
    DeleteDC(hdcBits);




Это сообщение отредактировал(а) zkv - 16.4.2007, 21:39
PM MAIL   Вверх
Solomon
Дата 16.4.2007, 23:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 471
Регистрация: 23.1.2006
Где: Украина Киев

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



zkv,  smile спасибо 


--------------------
Если не идти до конца к поставленным целям и не пытатся их достигнуть, каким бы тяжелым не казался путь, то лучше и не ставь их перед собой, но тот кто не ставит перед собой труднодоступные цели, никогда не ощутит эйфорию настоящей победы... победы над миром...
Соломон 2008
PM MAIL ICQ GTalk YIM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




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


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

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