首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

怎么从一张BMP图片中复制出一块儿

2012-01-19 
如何从一张BMP图片中复制出一块儿?我先生成一个小图片,用CreateCompatibleBitmap创建一下,然后用Bitblt从

如何从一张BMP图片中复制出一块儿?
我先生成一个小图片,用CreateCompatibleBitmap创建一下,然后用Bitblt从大图片中复制,结果复制出来是全黑的,原图是彩色,请问哪位可以帮忙解答一下?

[解决办法]
pMemDC.BitBlt(0, 0, size.cx, size.cy, &pMemDC, drawRect.left, drawRect.top, SRCCOPY);
这句有问题,还是你写错了,前面的pMemDC写的不对,应该是pDC吧

[解决办法]
HDC TempDc = CreateCompatibleDC(hdc);
HBITMAP hTempBMP = CreateCompatibleBitmap(hdc,width,height);
//width,height是你想要的宽和高
SelectObject(TempDc,hTempBMP);
COLORREF rgb = RGB(255,255,255);
for(int i=0;i <width;i++)
{
for(int j = 0;j <height;j++)
{
rgb = GetPixel(hbackDC,x+i,y+j);//hbackDC是目标DC,就是你想拷贝的bmp的DC
SetPixelV(TempDc,i,j,rgb);
}
}
//SetPixelV比SetPixel快一点,他不会返回颜色值
BitBlt(hdc,x,y,width,height,TempDc,0,0,SRCCOPY);
DeleteObject(hTempBMP);
DeleteDC(TempDc);

热点排行