將選中的圖片文件以圖片形式 (顯示在對話框內)或(直接發送出去)


第一種,將圖片顯示在對話框內,CxImage用來存儲圖片的信息,主要是采用 InsertImage 來將圖片插入對話框,函數體的命名是 OnFinishScreenCapture()。

 1 void SessionLayout::OnFinishScreenCapture(__in LPCTSTR lpFilePath)  2 {  3  CxImage img;  4  img.Load(lpFilePath, CXIMAGE_SUPPORT_BMP);  5     HBITMAP hBitmap = img.MakeBitmap();  6  BITMAP bitmap;  7     GetObject(hBitmap, sizeof(BITMAP), (LPSTR)&bitmap);  8     SIZE bitmapSize = { bitmap.bmWidth, bitmap.bmHeight };  9  CString szImgPath(lpFilePath); 10  InsertImage(szImgPath.GetBuffer(), bitmapSize, FALSE); 11 }

 

第二種,將圖片以圖片形式發送出去,void SessionLayout::_SendImage(CString& csFilePath)。

 1        //構造純圖片消息
 2  ST_picData picData;  3     picData.nPos = 0;  4     picData.strLocalPicPath = csFilePath;  5  MixedMsg mixMsg;  6  mixMsg.m_picDataVec.push_back(picData);  7     //發送圖片
 8  _SendSessionMsg(mixMsg);  9 
10     //本地消息展現
11  MessageEntity msg; 12     msg.msgType = MSG_TYPE_TEXT_P2P; 13     msg.talkerSid = module::getSysConfigModule()->code(); 14     msg.sessionId = m_sId; 15     msg.msgRenderType = MESSAGE_RENDERTYPE_TEXT; 16     msg.msgStatusType = MESSAGE_TYPE_RUNTIME; 17     msg.content = util::cStringToString(mixMsg.MakeMixedLocalMSG()); 18     msg.msgTime = module::getSessionModule()->getTime(); 19     _DisplayMsgToIE(msg);

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM