PDA

View Full Version : عکس انداختن از سطح سطح windows



yashar666
شنبه 04 فروردین 1386, 13:28 عصر
اینو بینید
c:=0;
var
bmp:TBitmap;
DCWindow: HDC;
c:byte;
cwnd:HWND;
begin
c:=c+1;
bmp := TBitmap.Create;
bmp.Height :=240;
bmp.Width := 320;
DCWindow :=GetDC(cwnd);
BitBlt(bmp.Canvas.Handle, 0, 0,320,240,DCWindow, 0, 0, SRCCOPY);
bmp.SaveToFile('pic\'+IntToStr(c)+'.bmp');
این تابع عکس میندازه ولی مثلا اگه میدیا پلیر باز باشه از صفحه اون عکس نمی دازه
چه تغییری باید بدم که از اون فرم مدیاپلر هم که در حال پخش عکس بنداره

Hamid_PaK
شنبه 04 فروردین 1386, 14:36 عصر
کد مشکل نداره ، دلیل نوع پخش تصویر در DirectX 9 هست ...
از نسخه 3 و بالاتر نوع پخش فایلهای تصویری در DirectX تغییر کرد که امکان تصویر گرفتن از آن با DC مقدور نمی باشد !!!
باید از کامپوننت های پخش فایلهای تصویر برای Snap گرفتن استفاده کنید ...
یک نگاهی به گامپوننت Direct Show Pack بیانداز ...

یا حق ...