Forum » Programiranje » C++ problem
C++ problem
MV ::
Del zaslona bi rad spravil najprej v HBITMAP potem pa v datoteko.
Poskusil sem naslednje:
HDC hdc1 = CreateDC("DISPLAY",NULL,NULL,NULL);
HDC hdc2 = CreateCompatibleDC(hdc1);
BitBlt(hdc2, 0, 0, sirina, visina, hdc1, x1, y1, SRCCOPY);
HBITMAP bm =:: CreateCompatibleBitmap(hdc2, sirina, visina);
// Od tu dalje obdela sliko knjižnica
CxImage *slika = new CxImage();
slika->CreateFromHBITMAP(bm);
slika->Save("D:\\slika.bmp", CXIMAGE_FORMAT_BMP);
Problem je v tem, da je v datoteki slika.bmp vse črno.
Kaj bi lahko bilo narobe?
Poskusil sem naslednje:
HDC hdc1 = CreateDC("DISPLAY",NULL,NULL,NULL);
HDC hdc2 = CreateCompatibleDC(hdc1);
BitBlt(hdc2, 0, 0, sirina, visina, hdc1, x1, y1, SRCCOPY);
HBITMAP bm =:: CreateCompatibleBitmap(hdc2, sirina, visina);
// Od tu dalje obdela sliko knjižnica
CxImage *slika = new CxImage();
slika->CreateFromHBITMAP(bm);
slika->Save("D:\\slika.bmp", CXIMAGE_FORMAT_BMP);
Problem je v tem, da je v datoteki slika.bmp vse črno.
Kaj bi lahko bilo narobe?
MV ::
Malo sem spremenil. Zdaj dela OK.
CWnd wn;
HDC dstDC = ::GetDC(NULL);
HDC srcDC = ::GetWindowDC(wn.m_hWnd);
HDC memDC = ::CreateCompatibleDC(dstDC);
HBITMAP bm =::CreateCompatibleBitmap(dstDC, sirina, visina);
HBITMAP oldbm = (HBITMAP)::SelectObject(memDC,bm);
::BitBlt(memDC, 0, 0, sirina, visina, srcDC, x1, y1, SRCCOPY);
CWnd wn;
HDC dstDC = ::GetDC(NULL);
HDC srcDC = ::GetWindowDC(wn.m_hWnd);
HDC memDC = ::CreateCompatibleDC(dstDC);
HBITMAP bm =::CreateCompatibleBitmap(dstDC, sirina, visina);
HBITMAP oldbm = (HBITMAP)::SelectObject(memDC,bm);
::BitBlt(memDC, 0, 0, sirina, visina, srcDC, x1, y1, SRCCOPY);
boogie_xlr ::
Kaj moram narediti, da mi memdc ne bo pobrisal, kar je že blo narisano v view? Želim, da se samo updejta in magari čez preriše.
Invalidate sem že dal na FALSE, pa ni pomagalo.
Invalidate sem že dal na FALSE, pa ni pomagalo.
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | kako narediti program ki bere drugi programOddelek: Programiranje | 5778 (4091) | imagodei |
» | [C++]Kako narediti screenshot?Oddelek: Programiranje | 1526 (1097) | *ziga* |
» | C++ programirane v Open GL oz. Direct xOddelek: Programiranje | 2990 (2261) | Vesoljc |
» | OpenGL problemOddelek: Programiranje | 2493 (2059) | Gundolf |
» | OpenGL orr v ansi cOddelek: Programiranje | 1648 (1436) | igor12 |