vc++成功显示了图片,下一步如何对图片进行处理呢?

来源:百度知道 编辑:UC知道 时间:2024/09/23 20:37:25
参照书上的方法,用IPicture接口完成了对各种图片格式的读取,然后定义了一个Draw函数
Draw(CDC *pDC)
{

HBITMAP hBitmap = (HBITMAP)*this;
if( hBitmap )
{
CDC bitmapDC;
if (bitmapDC.CreateCompatibleDC(pDC))
{
BITMAP bm;
GetBitmap(&bm);
CBitmap* pOldBmp = bitmapDC.SelectObject(this);
pDC->BitBlt(0,0,bm.bmWidth,bm.bmHeight,&bitmapDC,0,0,SRCCOPY);
bitmapDC.SelectObject(pOldBmp);
}
}
},在OnDraw中调用它就可以显示图片,但是下一步我要对这幅图进行处理,我就不知道怎么Get这个图片了,用GetImage()好像不成功,有没有高手可以指点一下啊,我是在单文档中操作的,不希望得到对话框的回答。有好的答案我一定给你加分的
在图片处理时会用到GDI+,所以在建立Graphics对象时不知道该怎么写,原来是直接用GetImage(),但显然不成功

你声明一个CBitmap类对象,获得它的DC,利用BitBlt将pDC画在那个DC上,就可以处理了。
Graphics对象的初始函数里有个函数是把DC转进行的,接着你就可以处理Graphics对象了。像这样:Graphics g(pDC);

这个图片已经是DC了 直接处理DC不久可以了~