Overlay er en maskinvarefunksjon på et skjermkort som gjør det mulig å legge et bilde på hovedskjermen (primærflate) uten å kopiere videominnet. Overlegg utføres i skjermkort digital-til-analoge omformere (RAMDAC) i ferd med å lage videosignaler sendt til skjermen. RAMDAC skanner primærflatene linje for linje under prosessen og bytter til et overleggsbilde når det gjelder det.
Nødvendig
Sett med spesialeffekter fra biblioteker
Bruksanvisning
Trinn 1
For å aktivere Overlay er det nødvendig å vurdere å skrive et program som viser noen spesielle effekter på overflaten av skrivebordet, eller på steder med vilkårlige farger (hvis vi ser på tegningsmodus på skrivebordet som hovedmodus).
Steg 2
Velg en spesialeffekt. Når det gjelder valg av spesialeffekter, bør du ikke være spesielt vanskelig - de kan bare lånes fra eksempler til FastLIB-bibliotekene, for eksempel algoritmene for å tegne en ildkule. Etter det må du legge til et enkelt system med partikler til effekten, og navngi resultatet slik det vil være praktisk. Initialiser DirectDraw. Bare primære overflater er fornuftige å initialisere.
Trinn 3
Kontroller muligheten til å vise overlegget og lage det. For å gjøre dette, bruk GetOverlayCaps-funksjonen. Det er ikke noe komplisert og interessant i GetOverlayCaps - det er en overføring fra DDCaps av hver bit eller verdi assosiert med overlegg til en mer kompakt struktur - TOverlayCaps. Deretter bør du korrigere størrelsen på overlegget slik at de samsvarer med parametrene som oppnås under bruk av funksjonen. I virkeligheten er sannsynligheten for vellykket utførelse av slik kode ekstremt ubetydelig, så du bør ikke spesielt fokusere på den - spesielt bør størrelsen ikke være begrenset for å unngå sakte arbeid, det er ikke nødvendig å sjekke størrelsen i byte for muligheten for å trenge inn i innholdet i videominnet og så videre.
Trinn 4
Generelt er det verdt å sjekke mer for å få en rapport, siden selve prosessen med å lage et overlegg gjøres med en brute-force-metode. Poenget er at ingen funksjoner som EnumOverlayFormats eksisterer og ikke er opprettet, så brukeren bør sjekke hvilket som helst tenkelig format og håpe å være heldig. Det er imidlertid en funksjon IDirectDraw7GetFourCCCodes, som er designet for å bestemme ikke-RGB-formatkoden (FourCC), men den inkluderer ikke bare den nødvendige YUV, men også det komprimerte teksturformatet og andre. Å bruke hele listen og definere hvert format som YUV eller ikke-YUV virker irrasjonelt.
Trinn 5
Fjern bildet fra skrivebordet, hvis det er tilstede, og tilordne DCK-farger til det. Aktiver DCK-fargeoverlegg. Overlegget blir slått på og klart til bruk. De visuelle effektene av bruken kan vurderes etter at alle arbeidsvinduer er minimert.