Screenshot pomocí VB   zodpovězená otázka

Offtopic

Zdravím,

stala se mi záhadná a mou šedou kůrou nevysvětlitelná věc. Napsal jsem si skutečně miniaturní program na zhotovování obrázků z obrazovky, následující:

                Dim Photo As New Bitmap(Frame.Width, Frame.Height)
                Dim Camera As Graphics = Graphics.FromImage(Photo)
                Camera.CopyFromScreen(Me.PointToScreen(Me.Frame.Location), New Point(0, 0), Frame.Size)

Funguje perfektně, taky na něm není co zkazit, ale můj problém je jinde. Pomocí programu VLC media player jsem přehrával MP4 soubor a shodou okolností se mi část obrazu z VLC dostala do obrázku foceného tím mým programem. Obrázek se uložil do schránky a já jej hbitým chvatem vložil do IrfanView. Přesně ta plocha obrázku, kde nebylo video se vložila exaktně podle originálu, avšak plocha, kde probíhalo přehrávání videa se stala průhlednou až přes okno IView a zobrazuje černou všude kde není video a tam kde je dojde k zobrazení té které plochy videa. Samozřejmě reaguje na přesouvání atp.

Napadl mne termín "hardwareová akcelerace", kterému sám nerozumím, ale vím, že v podobných opičárnách mívá prsty.

Pokud někdo tušíte, čím je to způsobeno, prosím osvětlete mi to, protože já s přiznám bez mučení, že absolutně nechápu.

Předem díky

nahlásit spamnahlásit spam 2 / 2 odpovědětodpovědět

Videopřehrávače a podobná zvířátka používají tzv. overlay vrstvu. Aplikace řekne kodeku, aby vykresloval video do overlay vrstvy (to je speciální buffer na grafiku, který je jen v paměti), a místo, kde se má obsah overlay vrstvy vykreslit, vybarví nějakým odstínem černé, který se nepoužívá na nic jiného. A tam, kde je ta černá, tak tam systém nebo karta (podle toho, jestli to karta umí, nebo ne) vykreslí obsah overlay vrstvy. Proto někdy printscreen dělá kraviny. Při vypnuté hardwarové akceleraci overlay vrstvu mixuje patrně systém, takže screeny dělat jdou, při zapnuté se to asi mixuje až na kartě a screen dělat jednoduše nejde (asi záleží na ovladači).

Nevím, takhle nějak to je, asi v tom mám nepřesnosti, sám nevím, jak to funguje, znám jen tenhle princip.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Každopádně díky za reakci, dost jste mi to osvětlil. Vypadá to, že hw akcelerace je docela zábavné téma, nejspíš si o tom něco najdu. Děkuji Vám za tu reakci.

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback