GDI+中的各種描畫方法雖然很好用,但如果想獲得一個Graphics中已經畫好的內容卻不那麼容易了。做了一些嘗試後,我用以下方法解決了這個問題。
到這裡,雖然已經基本完成了任務。但為了以後方便,我又做了點工作。
獲得目標DC的CBitmap對象。這個通過CDC的GetCurrentBitmap()就能得到。
建立一個Bitmap對象,注意是GDI+的Bitmap對象。通過Bitmap( HBITMAP, HPALETTE)這個構造函數建立,後面的調色板直接給一個NULL就可以了。前面的HBITMAP也可以直接將CBitmap對象賦進去,這裡要注意到是,不是Cbitmap*而是CBitmap。
之後,這個Bitmap對象就可以自由的在GDI+中使用了。通過其Clone方法也可以方便的復制出任意個副本,注意釋放就行了。
PixelFormat32bppARGB是圖像的格式。MSDN上有詳細的說明。