» »

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?

Senitel ::

Ja tko ziher ne boš dobu ven screen shota... Mogoče bo delalo z GetDC(window).

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);

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.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

kako narediti program ki bere drugi program

Oddelek: Programiranje
465373 (3686) imagodei
»

[C++]Kako narediti screenshot?

Oddelek: Programiranje
121443 (1014) *ziga*
»

C++ programirane v Open GL oz. Direct x

Oddelek: Programiranje
242871 (2142) Vesoljc
»

OpenGL problem

Oddelek: Programiranje
212354 (1920) Gundolf
»

OpenGL orr v ansi c

Oddelek: Programiranje
121548 (1336) igor12

Več podobnih tem