将选中的图片文件以图片形式 (显示在对话框内)或(直接发送出去)


第一种,将图片显示在对话框内,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