B
bluescreen99
Bekanntes Mitglied
- Dabei seit
- 31.08.2001
- Beiträge
- 107
- Reaktionspunkte
- 0
Hallo, ich bräuchte einen Tip, wie man einen Fensterinhalt aus der Klasse CDC in eine PNG Datei speichern kann.
So:bluescreen99 schrieb:Die CImage Klasse ist wohl in ATL untergeordnet. Wie bekomme ich ATL in mein Projekt????
#include "afxwin.h"
#include "atlimage.h"
void CAtlImageMfcDlg::OnBnClickedSave()
{
CRect r;
GetClientRect(r);
CImage image;
image.Create(r.Width(), r.Height(), 32);
CDC *cdc = GetDC();
CDC *idc = CDC::FromHandle(image.GetDC());
idc->BitBlt(0, 0, r.Width(), r.Height(), cdc, 0, 0, SRCCOPY);
image.ReleaseDC();
image.Save("c:\\test.png");
}
#include "CxImage\xImage.h"
void CCxImagePngTestDlg::OnTest()
{
CRect r;
GetClientRect(r);
CDC *cdc = GetDC();
CBitmap bm;
bm.CreateCompatibleBitmap(cdc, r.Width(), r.Height());
CDC bmdc;
bmdc.CreateCompatibleDC(cdc);
bmdc.SelectObject(bm);
bmdc.BitBlt(0, 0, r.Width(), r.Height(), cdc, 0, 0, SRCCOPY);
CxImage image;
image.CreateFromHBITMAP(bm);
image.Save("c:\\test.png", CXIMAGE_FORMAT_PNG);
}