18,356
社区成员
发帖
与我相关
我的任务
分享
if (m_pImg[0]!=NULL)
{
CRect rc;
CDC*pDC=m_bmp1.GetDC();
int ncolors = (1 <<((LPBITMAPINFOHEADER)m_pImg[0])->biBitCount); if( ncolors> 256 )
ncolors = 0;
GetClientRect(rc);
::StretchDIBits(pDC->m_hDC ,
0,0,rc.Width()/2,rc.Height()/2,
0,0,((LPBITMAPINFOHEADER)m_pImg[0])->biWidth,((LPBITMAPINFOHEADER)m_pImg[0])->biHeight,
(LPBYTE)m_pImg[0]+ (sizeof(BITMAPINFOHEADER) + ncolors * sizeof(RGBQUAD)),
(LPBITMAPINFO)m_pImg[0],
DIB_RGB_COLORS,
SRCCOPY);
CString temp;
temp.Format("主机名:%s", m_socket[0]->m_strHostName);
TextOut(pDC->m_hDC, 0, 0, temp.GetBuffer(0), temp.GetLength());
}
uLong ulJieYaSize = 5242880;
int Ans;
switch (msg.m_wType2)
{
case CM_CAPTURE_BMP1:
TRACE1("CM_CAPTURE_BMP1 解压前大小:%u\n",msg.m_dwLen);//debug检查
Ans = uncompress(m_pImgData[0], &ulJieYaSize, (unsigned char *)msg.m_pbuffer, msg.m_dwLen);
TRACE2("CM_CAPTURE_BMP1 返回结果: %d 解压后大小:%u 解压前大小:%u\n",Ans,ulJieYaSize, msg.m_dwLen);//debug检查
break;
void CMsg::Serialize(CArchive &ar)
{
if (ar.IsStoring())
{
ar<<m_wType1;
ar<<m_wType2;
ar<<m_dwLen;//事先保存要发送的长度
if(m_dwLen != 0)
{
//m_pBuf= new char[dwLen];//new应该在发送前
for(int i=0;i < m_dwLen;i++)
ar << m_pbuffer[i];
}
}
else
{
ar>>m_wType1;
ar>>m_wType2;
ar>>m_dwLen;
if(m_dwLen != 0)
{
m_pbuffer= new char[m_dwLen];
for(int i=0;i < m_dwLen;i++)
ar >> m_pbuffer[i];
}
}
}