菜鸟一枚,请教大神们怎么在win32平台下绘制一张位图,并且将多张小图贴到这张位图上。请大神给出具体程序或者相关的例子,谢谢。

解决方案 »

  1.   


    先从对话框中导入一张位图资源,资源ID为IDB_BITMAP1,
    然后: CRect rc;
    GetWindowRect(&rc);
    CDC *pDC;
    CDC memdc;
    CBitmap *olddc;
    CBitmap bitmap;
    bitmap.LoadBitmap(IDB_BITMAP1);
    pDC=this->GetDC();
    memdc.CreateCompatibleDC(pDC);
    olddc=memdc.SelectObject(&bitmap);
    pDC->BitBlt(0,0,rc.Width(),rc.Height(),&memdc,0,0,SRCCOPY); if(olddc)
    {
    memdc.SelectObject(olddc);
    }
      

  2.   

    CImag img;
    img.load(xxx);
      

  3.   


    CImage img,imgOld;
    imgOld.Load("1.jpg");//大图
    img.Load("2.jpg");//小图
    HDC dcmem=imgOld.GetDC();
    SetStretchBltMode(dcmem, HALFTONE );//防止失真
    //小图画到大图上
    img.StretchBlt(dcmem,目标矩形左上角的X轴坐标,目标矩形左上角的Y轴坐标,目标矩形的宽度,指定目标矩形的高度,源矩形区域左上角的X轴坐标,源矩形区域左上角的Y轴坐标,源矩形的宽度,源矩形的高度,SRCCOPY);
    //画到控件上
    imgOld.Draw(GetDlgItem(控件ID)->GetDC()->m_hDC,CRect(左边界,上边界,右边界,下边界));
    //保存图片
    imgOld.Save("222.jpg");
    imgOld.ReleaseDC();