首頁  >  問答  >  主體

c++ - 如何用IPicture保存指定区域?

  1. 一个非GUI(vc++)程序对图片进行处理,处理完成后获得某个区域比如(x,y,width,heigh),想保存这个区域为本地图片,该如何做?

怪我咯怪我咯2765 天前598

全部回覆(1)我來回復

  • 怪我咯

    怪我咯2017-04-17 14:00:07

    IPicture 主要作用在於render函數,可以對螢幕的任意區域進行重繪。控制項、視窗、等都可以抽象化為CDC(裝置上下文),那麼CImage也屬於CDC,所以就是把區域,畫到CImage上即可。

    CImage image;
    image.Create( weight, height, 32 );//指定image的大小参数
    pPic->Render( image.GetDC(), 0, 0, weight, height, x, hmHeight - y, w, 0 - h, NULL );//参数为自己需要的区域。注意:要了解一下render图像是从左下角开始的,然后参数涉及矩阵的运算
    image.Save( "D:\abc.jpg" );
    image.ReleaseDC();

    回覆
    0
  • 取消回覆