Re[7]: вывод картинки с ftp-сервера
От: Кодт Россия  
Дата: 19.05.10 22:08
Оценка:
Здравствуйте, evgeniy_ptz, Вы писали:

_>Написал код по работе с CImage, он загружает картинку и прорисовывает в элементе picture control на диалоге.

_>
_>CStatic m_photo;
_>CImage image;
_>image.Load("670.jpg");
 
_>HBITMAP hbmp=m_photo.GetBitmap();
_>CBitmap* bmp=CBitmap::FromHandle(hbmp);
_>CDC dc;
_>dc.CreateCompatibleDC(NULL);
_>CBitmap* old=dc.SelectObject(bmp);
_>m_photo.SetBitmap(image);
 
_>int x=0;
_>int y=0;
 
_>image.AlphaBlend(dc,x,y,0xff,AC_SRC_OVER);
 
_>dc.SelectObject(old);
 
_>m_photo.Invalidate();


_>только вот картинку он в объект image загружает, а почему то саму картинку не прорисовывает, только чертит рамку по размеру фото. Что тут не так?(


Если это сплошной отрывок кода, то это бред!
А если это несколко фрагментов, то неплохо бы показать, какой фрагмент в какой функции.
Зачем загруженная картинка блендится со старой картинкой из контрола?
Куда девается старая картинка? (Из контрола мы её вытащили и засунули в контекст; а затем вытащили из контекста и... и всё).
Куда девается новая картинка? Хэндл на неё засунули в контрол. А потом вышли из функции и грохнули СImage, и что случилось с хэндлом?

По уму, надо завести CImage m_image на всё время жизни окна. В OnCreate/OnInitDialog загрузить туда картинку, затем передать хэндл в контрол, и всё.
Перекуём баги на фичи!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.