如何用IPicture保存指定区域?

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

阅读 2.6k
1 个回答

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();
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题