2012-03-05 116 views
1

我想复制一个CImage,这样我就可以对它的像素进行一些操作。我试过这个source是一个指向加载的CImage对象的指针。如何复制CImage对象?

CImage* dest = new CImage(*source); 

然而,这似乎并没有工作,我相信sourcedest都指向相同的内存。

我该如何创建一个与之前的CImage完全分离的新副本?

+0

对于哪个库? – 2012-03-05 17:52:43

+0

@ phresnel,对不起,这是ATL。 – 2012-03-05 18:04:31

回答

1

如果这是关于MFC/ATL CImage的问题,那么您可以创建新实例并使用Create将其初始化为原始CImage的大小。然后使用BitBlt复制内容。

+0

是的,它是ATL,你能解释如何使用'BitBlt'。 – 2012-03-05 18:03:26

+0

下面是一个示例srcImg.BitBlt(dstImg.GetDC(),0,0),dstImg应该与srcImg兼容且具有相同的大小。 – marcinj 2012-03-05 18:26:09