2012-03-05 118 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