我用vc做的抓完图后想插入word中
但是由于图片太大,不满足要求
怎么能抓完图后(比如屏幕那么大的)能给它变小一些?
这个函数是什么?谢谢!!

解决方案 »

  1.   

    压缩成jpg
    或用strechblt缩小
      

  2.   

    strechblt这个函数看了msdn
    按照它的例子没做出来
    能否给个例子看看,或者详细说一下?
    我前面的代码是这样的:
    CClientDC dc(pView);
    CDC memDC;
    CRect rect;
    dc.DPtoLP(&rect);
    GetClientRect(&rect);    // 获取视图显示区域(picture控件的用户区域)
    memDC.CreateCompatibleDC(&dc);
    int Width= 750;
    int Height= 640;
    m_bmp.CreateCompatibleBitmap(&dc, Width, Height);
    CBitmap* pOld = memDC.SelectObject(&m_bmp);
    memDC.BitBlt(0, 0, Width, Height, &dc, 0, 0, SRCCOPY);
    memDC.SelectObject(pOld);
      

  3.   

    另外:
    压缩成jpg是什么意思?这个怎么解决的?能详细说一下吗?
      

  4.   

    内存里面另外创建一个内存DC和内存位图,把你的位图用strechblt拷贝到内存位图上,然后取出来。当然也可以用其他办法直接修改位图进行缩放,一般的图形学书上都有。
      

  5.   

    谢谢大家!
    我用strechblt函数后发现缩小的图比原来的分辨率要低
    边上有锯齿形状,而且里面的颜色也不好了,还有道道
    大家再给推荐一个缩小图片但不损失分辨率什么的方法?
    谢谢!