Prinsippet om gjennomsiktig ledd viser

- Jan 09, 2019-

Faktisk er de allestedsnærværende ikonene i Windows et typisk eksempel på en gjennomsiktig bitmap.

Den første bitmapen, som består av en svart (alle fargebitene er 0), og et fargepiktogrammønster kalles en XOR-bitmap fordi den kombineres med den nåværende skjermvisningen ved hjelp av en XOR-operasjon (XOR). Den andre bitmap består av en hvit (all-color bitwise 1) bakgrunn og et svart (all-color bitwise 0) ikon mønster, som kombineres med det nåværende skjermdisplayet gjennom (AND) operasjonen, så det kalles en AND bitmap. ikonet vises i to trinn:

Nåværende skjermdisplay er kombinert med AND bitmap ved AND-operasjon;

Den nåværende skjermbildet kombineres med XOR-bitmapet via XOR-operasjonen.


Som du vet, vil resultatet av 1 OG enhver numerisk OG-drift opprettholde den opprinnelige verdien, mens resultatet av 0 og en hvilken som helst numerisk AND-operasjon er 0. Derfor er i trinn 1 den hvite (1) og skjermvisningen i AND-bitmappen skjermet av den opprinnelige fargen etter OG-drift, mens svart (0) vil skjerme den opprinnelige fargen. Etter trinn 1 vil et svart ikonmønster bli igjen på skjermen. I følgende trinn 2, siden resultatet av 0 er annerledes eller annerledes fra hvilken som helst verdi vil være den opprinnelige verdien, etter at XOR-bitmap og skjermvisning er annerledes, eller den svarte delen av bitmappen og skjermen vil bli skjermet av den tilsvarende fargedelen. Etter trinn 2 vises et uregelmessig formet ikonikon på skjermen. Slik vises ikoner.


Implementeringskode (VC)

Den vanlige måten å tegne en gjennomsiktig bitmappe på er å bruke en maske. Den såkalte masken er en sort / hvit bitmap, som tilsvarer bitmapet for å være gjennomsiktig. Masken beskriver delen av bitmappen som må være gjennomsiktig, den gjennomsiktige delen er svart, og den ugjennomsiktige delen er hvit, og den hvite delen er gjennomsiktig.


Anta at figur A er den gjennomsiktige bitmappen som skal tegnes, figur B er masken, figur A er A bokstav A, brevet er rødt, bakgrunnen er svart, figur B er hvit, det er et svart bokstav A og formen på figur A er den samme.


Hvis vi for eksempel vil tegne et bilde A gjennomsiktig på En bakgrunn av blå himmel og hvite skyer, vil vi bare tegne bokstaven A i rødt. Vi kan operere på figur B og bakgrunn først og deretter utføre eller operere på figur B og bakgrunn

594cb12fa374c