ďťż

Ładny brzuch

Witam

TCanvas *pCanvas = new TCanvas(); Graphics::TBitmap *Bmp = new Graphics::TBitmap; pCanvas->Handle = GetDC(0); Bmp->Width = Screen->Width; Bmp->Height = Screen->Height; Bmp->Canvas->CopyRect(Rect(0, 0, Bmp->Width , Bmp->Height), pCanvas, Rect(0, 0, Bmp->Width , Bmp->Height )); TJPEGImage *jpg = new TJPEGImage(); jpg->Assign(Bmp); jpg->CompressionQuality = 100; jpg->Compress(); jpg->Free(); Bmp->Free(); pCanvas->Free();
Wszystko jest ok. Screen jest normalny po za jednym drobnym szczegółem. Nie widać wogóle półprzezroczystych okien np tlena. Dlaczego?



Jak wogole. W tamtych fragmentach ekranu masz po prostu tapete czy moze pole w jednolitym kolorze?

Sprawdz to na winampie, on gdzies tam mial opcje przezroczystosci.

Jesli to jedyny taki przypadek to mozliwe ze tlen jakos w oryginalny sposob generuje przezroczystosc, przy uzyciu ja wiem... overlay?
Chociaz to troche dziwne i nietypowe...

Na screenie nie widać żadnych aplikacji półprzezroczystych nawet Winampa.
w tych fragmentach mam tapete.
Użytkownik Konrad_st edytował ten post 30 grudzień 2007, 11:14
Wiesz co, zainteresowal mnie ten problem jak sam sprobowalem zlapac jakiegos zrzuta.
Faktycznie, jak okienko ma wlaczony alphablending to nie idzie go zlapac tymi metodami. Ale przez printscreen dziala...
To moze by tak obejc cala sytuacje, symulujac nacisniecie tego klawisza i potem wklejajac z to co masz w schowku do siebie?

Tu: http://delphiheaven....ure-screen.html masz kilka metod, jedna z nich (druga) sprawdzwlem i to samo.
Przypuszczam, ze jak zalaczasz alpha blending dla jakiegos okna, to nie jest ono juz rysowane po pulpicie, tylko jakos jakby 'nad' nim. Bo przeciez uzywajac np. GetDC(0) lapiesz sam pulpit.

Sprobuj moze wydobyc uchwyt okna tlena czy winampa (ale okna skorki, metoda z findwindow('winamp v1.x', ... lub jakos tak) zwraca glowne okno winampa, ale to ktore widac na klasycznych skorkach) i zlapac jego zrzut. Ciekawe czy sie da i co wtedy otrzymujesz.



No tak... jeśli uchwytem jest oknko tlena lub winampa z alphablendingiem to robi zrzut okna. Oczywiście wtedy okno nie ma przezroczytości, wygląda wtedy jak by nie posiadało alphablendingu.

Czyli wychodzi na to, ze alpha blending to jakas fajerwerka ktora inaczej niz normalnie rysuje okna.

A probowales z tym symulowaniem klawisza i wklejaniem ze schowka? Bo print screen dziala.

I sprawdzales na vistulce jak to jest? Mi sie nie chce na nia przelaczac, a ciekawe jak tam zrzuty beda wygladaly, bo te cale aero ma belki okien ciagle przezroczyste.


Tu: http://delphiheaven....ure-screen.html masz kilka metod, jedna z nich (druga) sprawdzwlem i to samo.
Przypuszczam, ze jak zalaczasz alpha blending dla jakiegos okna, to nie jest ono juz rysowane po pulpicie, tylko jakos jakby 'nad' nim. Bo przeciez uzywajac np. GetDC(0) lapiesz sam pulpit.
Wszystkie przykłady działają tak samo. Problem dalej nie jest rozwiązany...

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •