我的Dialog在绘图的时候需要从文件载入图片,并且文件上的图片不能直接的拼凑到Dialog的背景上。
比如一个图片的大小是60*60 而我的客户区只有40*40, 现在我想把60*60 的坐上角起的40*40部分剪切下来并绘制到客户区。
如何实现有没有函数能够直接表明需要剪切的区域呢? 有时候剪切的可能是源图片的某个区域,不一定是从左上角开始了。
比如一个图片的大小是60*60 而我的客户区只有40*40, 现在我想把60*60 的坐上角起的40*40部分剪切下来并绘制到客户区。
如何实现有没有函数能够直接表明需要剪切的区域呢? 有时候剪切的可能是源图片的某个区域,不一定是从左上角开始了。
BitBlt( int x, int y, int nWidth, int nHeight, CDC* pSrcDC, int xSrc, int ySrc, DWORD dwRop );
前面4个参数是绘制目标位置,后面的xSrc,ySrc就是剪切的源图片区域的左上角坐标例如你提的问题用cdc.BitBlt(0,0,40,40,pSrcDC,0,0,SRCCOPY);就可以,只绘制了40*40的部分