Dom > Novosti > Sadržaj

Započnite crtanje primitivne grafike

Apr 26, 2019

4.5 BEGIN

Počnite crtati primitiv grafike

image

image

Opis

Svi primitivi koje podržava FT800 definirani su u gornjoj tablici. Primitivni

da se iscrtava odabire naredba BEGIN. Kada se primitiv odabere, bit će

važi dok se novi primitiv ne odabere naredbom BEGIN.

Imajte na umu da primitivna operacija crtanja neće biti izvršena sve dok

VERTEX2II ili VERTEX2F se izvršava.

image

image

Parametri

handle

Bitmap handle. Početna vrijednost je 0. Valjani raspon vrijednosti je od 0 do 31.

Opis

Ručke 16 do 31 definirane su pomoću FT800 za ugrađeni font, a ručica 15 je

definirane u naredbama ko-procesora motora CMD_GRADIENT, CMD_BUTTON i

CMD_KEYS. Korisnici mogu definirati nove bitmape koristeći ručke od 0 do 14. Ako postoji

ne postoji naredba ko-procesorske naredbe CMD_GRADIENT, CMD_BUTTON i CMD_KEYS u

trenutna lista prikaza, korisnici mogu čak da definišu bitmapu koristeći ručicu 15.

Grafički kontekst

Vrijednost handle je dio grafičkog konteksta, kao što je opisano u odjeljku 4.1

Vidi takođe

BITMAP_LAYOUT, BITMAP_SIZE


image

image

Različiti podržani bitmap formati su:

image

image

BARGRAPH - prikazuje podatke kao bar-grafikon. Zatim traži koordinate x u nizu bajtova

daje neproziran piksel ako je vrednost bajta manja od y, u suprotnom prozirni piksel. The

Rezultat je barski grafikon bitmap podataka. Maksimalna bitmapa veličine 256x256 može biti

nacrtana koristeći BARGRAPH format. Orijentacija, širina i visina grafa mogu biti

promijenjena pomoću matrice bitmap transformacije.

TEXT8X8 - pretraživanje u fiksnom fontu 8x8. Bitmapa je niz bajtova prisutan u grafici

ram i svaki bajt indeksira unutarnji 8x8 CP437 [2] font (ugrađeni font bitmap

ručke 16 i 17 se koriste za crtanje TEXT8X8 formata). Rezultat je bitmap

djeluje kao mreža znakova. Može se nacrtati jedna bitmapa koja pokriva sve ili dio

display; svaki bajt u bitmap podacima odgovara jednoj ćelijskoj ćeliji 8x8 piksela.

TEXTVGA - traženje u fiksnom 8x16 fontu sa TEXTVGA sintaksom. Bitmapa je TEXTVGA

polje prisutno u grafičkom ramu, svaki element indeksira unutarnji 8x16 CP437 [2]

font (ugrađeni fontovi bitova za fontove 18 i 19 se koriste za crtanje TEXTVGA formata sa

kontrolne informacije kao što su boja pozadine, boja prednjeg plana i kursor itd.). The

Rezultat je da bitmapa djeluje kao TEXTVGA mreža. Može se nacrtati jedna bitmapa koja

pokriva sve ili dio ekrana; svaki TEXTVGA tip podataka u bitmapu odgovara

jedna ćelijska ćelija od 8x16 piksela.

PALETTED - bitmap bajtovi su indeksi u tabeli paleta. Koristeći tablicu paleta -

koja sadrži 32-bitne RGBA boje - može se sačuvati značajna količina memorije. The

256 paleta boja pohranjuje se u namjenski 1K (256x4) bajt RAM_PAL.

linestride

Bitmap linestride, u bajtovima. Obratite pažnju na zahtjev za usklađivanje koji je

opisano u nastavku.

visina

Visina bitmapa, u linijama

Opis

Podržani bitmap formati su L1, L4, L8, RGB332, ARGB2, ARGB4, ARGB1555,

RGB565 i Palette.

Za L1 format, linija mora biti višestruka od 8 bita; Za L4 formatirajte liniju

korak mora biti višestruki od 2 grickalice. (Poravnato u bajt)

Za više detalja o poravnanju, molimo pogledajte slike ispod:

image

image

image

Grafički kontekst

Nema

Vidi takođe

BITMAP_HANDLE, BITMAP_SIZE, BITMAP_SOURCE

image

Parametri

filter

Režim filtriranja bitmapa, jedan od NEAREST ili BILINEAR

Vrijednost NEAREST je 0, a vrijednost BILINEAR je 1.

wrapx

Bitmap x wrap mod, jedan od REPEAT ili BORDER

Vrijednost BORDER-a je 0, a vrijednost REPEAT je 1.

wrapy

Bitmap y wrap mod, jedan od REPEAT ili BORDER

width

Izvučena širina bitmapa, u pikselima

visina

Izvučena visina bitmapa, u pikselima


Opis

Ova naredba kontrolira crtanje bitmape: veličinu bitmapa na ekranu,

ponašanje za omatanje i funkciju filtriranja. Imajte na umu da ako wrapx ili

wrapy je REPEAT onda odgovarajuća dimenzija rasporeda memorije

(BITMAP_LAYOUT linija ili visina linije) mora biti snaga dva, u suprotnom rezultat je

undefined.

Za širinu i visinu parametra, vrijednost od 1 do 511 znači širinu bitmapa

i visina u pikselima. Vrijednost nula znači 512 piksela u širini ili visini.


Primjeri

Crtanje 64 x 64 bitmapa:

image

image

Koristeći REPEAT način prelamanja da biste podesili bitmap: dl (BITMAP_SO

image

image

image

Grafički kontekst

Nema

Vidi takođe

BITMAP_HANDLE, BITMAP_LAYOUT, BITMAP_SOURCE


image

Parametri

addr

Bitmap adresa u grafici SRAM FT800, usklađena s obzirom na bitmapu

format.

Na primjer, ako je bitmap format RGB565 / ARGB4 / ARGB1555, bitmapa

izvor mora biti usklađen sa 2 bajta.

Opis

Izvorna bitmap adresa je normalno adresa u glavnoj memoriji u kojoj je

bitmap grafički podaci se učitavaju.

Primjeri

Crtanje 64 x 64 bitmapa, učitana na adresi 0:

image

Koristeći iste grafičke podatke, ali sa promjenom izvora i veličine, prikazati samo a

32 x 32 detalja:

image

Grafički kontekst

Nema

Vidi takođe

BITMAP_LAYOUT, BITMAP_SIZE


image

Parametri

a

Koeficijent A matrice bitmap transformacije, u potpisanoj 8,8-bitnoj fiksnoj točki

forma. Početna vrijednost je 256.

Opis

BITMAP_TRANSFORM_A-F koeficijenti se koriste za izvođenje bitmap transformacije

funkcionalnosti kao što su skaliranje, rotacija i prevođenje. Oni su slični openGL-u

transformacija funkcionalnosti.

Primjeri

Vrijednost od 0,5 (128) uzrokuje da se bitmapa pojavi dvostrukom širinom:

image

image

Grafički kontekst

Vrijednost a je dio grafičkog konteksta, kao što je opisano u odjeljku 4.1

Vidi takođe

Nema


image

Parametri

b

Koeficijent B matrice bitmap transformacije, u potpisanoj 8,8-bitnoj fiksnoj točki

forma. Početna vrijednost je 0

Opis

BITMAP_TRANSFORM_A-F koeficijenti se koriste za izvođenje bitmap transformacije

funkcionalnosti kao što su skaliranje, rotacija i prevođenje. Oni su slični openGL-u

transformacija funkcionalnosti.

Grafički kontekst

Vrijednost B je dio grafičkog konteksta, kao što je opisano u odjeljku 4.1

Vidi takođe

Nema

image

Parametri

c

Koeficijent C matrice bitmap transformacije, u potpisanoj 15,8-bitnoj fiksnoj točki

forma. Početna vrijednost je 0

Opis

BITMAP_TRANSFORM_A-F koeficijenti se koriste za izvođenje bitmap transformacije

funkcionalnosti kao što su skaliranje, rotacija i prevođenje. Oni su slični openGL-u

transformacija funkcionalnosti.

Grafički kontekst

Vrijednost c je dio grafičkog konteksta, kao što je opisano u odjeljku 4.1

Vidi takođe

Nema


image

Parametri

d

Koeficijent D matrice bitmap transformacije, u potpisanoj 8,8-bitnoj fiksnoj točki

forma. Početna vrijednost je 0

Opis

BITMAP_TRANSFORM_A-F koeficijenti se koriste za izvođenje bitmap transformacije

funkcionalnosti kao što su skaliranje, rotacija i prevođenje. Oni su slični openGL-u

transformacija funkcionalnosti.

Grafički kontekst

Vrijednost d je dio grafičkog konteksta, kao što je opisano u odjeljku 4.1

Vidi takođe

Nema


image

Parametri

e

Koeficijent E matrice bitmap transformacije, u potpisanoj 8,8-bitnoj fiksnoj točki

forma. Početna vrijednost je 256

Opis

BITMAP_TRANSFORM_A-F koeficijenti se koriste za izvođenje bitmap transformacije

funkcionalnosti kao što su skaliranje, rotacija i prevođenje. Oni su slični openGL-u

transformacija funkcionalnosti.

Primjeri

Vrijednost od 0,5 (128) uzrokuje bitmapu dvostruku visinu:


image

Grafički kontekst

Vrijednost e je dio grafičkog konteksta, kao što je opisano u odjeljku 4.1

Vidi takođe

Nema


image

Parametri

f

Koeficijent F matrice bitmap transformacije, u potpisanoj 15,8-bitnoj fiksnoj točki

forma. Početna vrijednost je 0

Opis

BITMAP_TRANSFORM_A-F koeficijenti se koriste za izvođenje bitmap transformacije

funkcionalnosti kao što su skaliranje, rotacija i prevođenje. Oni su slični openGL-u

transformacija funkcionalnosti.

Grafički kontekst

Vrijednost f je dio grafičkog konteksta, kao što je opisano u odjeljku 4.1

Vidi takođe

Nema


image

Parametri

src

Određuje kako se izračunava faktor miješanja izvora. Jedan od ZERO, ONE,

SRC_ALPHA, DST_ALPHA, ONE_MINUS_SRC_ALPHA ili

ONE_MINUS_DST_ALPHA. Početna vrijednost je SRC_ALPHA (2).

dst

Određuje kako se izračunava faktor miješanja odredišta, jedan od istih

konstante kao src. Početna vrijednost je ONE_MINUS_SRC_ALPHA (4)

image

Opis

Funkcija miješanja kontrolira kako se nove vrijednosti boja kombiniraju s vrijednostima

već u baferu boja. Daje izvor vrijednosti piksela i prethodnu vrijednost u

odredište bafera boja, izračunata boja je:

izvor × src + odredište × dst

za svaki kanal boje: crvena, zelena, plava i alfa.

Primjeri

Zadana funkcija miješanja (SRC_ALPHA, ONE_MINUS_SRC_ALPHA) uzrokuje

crtanje za preklapanje odredišta pomoću alfa vrijednosti:

image

image

Grafički kontekst

Vrijednosti src i dst su dio grafičkog konteksta, kao što je opisano u odjeljku

4.1

Vidi takođe

COLOR_A

image

Parametri

dest

Odredišna adresa u RAM_DL koju će biti prikazana naredba

uključen. FT800 ima stog za pohranjivanje povratne adrese. Da se vratim

naredna naredba izvora adrese, naredba RETURN može pomoći.

Opis

CALL i RETURN imaju 4 nivoa stog pored trenutnog pokazivača. Bilo koji

Dodatni CALL / RETURN će dovesti do neočekivanog ponašanja.

Grafički kontekst

Nema

Vidi takođe

JUMP, POVRATAK


image

Parametri

cell

broj ćelije bitmapa. Početna vrijednost je 0

Grafički kontekst

Vrijednost ćelije je dio grafičkog konteksta, kao što je opisano u odjeljku 4.1

Vidi takođe

Nema


image

Parametri

c

Očisti bafer boje. Postavljanjem ovog bita na 1 briše se bafer boje FT800

do unapred podešene vrednosti. Postavljanjem ovog bita na 0 zadržaće se bafer boje

FT800 sa nepromijenjenom vrijednosti. Predpodešena vrednost je definisana u komandi

CLEAR_COLOR_RGB za RGB kanal i CLEAR_COLOR_A za alfa kanal.

s

Jasan bafer šablona. Postavljanjem ovog bita na 1 obrisat će se bafer šablona

FT800 do unapred podešene vrednosti. Postavljanjem ovog bita na 0 zadržava se matrica

bafer FT800 sa nepromenjenom vrednošću. Predefinisana vrednost je definisana u

command CLEAR_STENCIL.

t

Očisti bafer oznaka. Postavljanjem ovog bita na 1 briše se bafer oznaka FT800 na

unapred podešenu vrednost. Postavljanjem ovog bita na 0 zadržaće se bafer oznaka za

FT800 sa nepromijenjenom vrijednosti. Predpodešena vrednost je definisana u komandi

CLEAR_TAG.


Opis

Test makaze i maske za upisivanje bafera utiču na rad prozora. Scissor

ograničava izbrisani pravougaonik, a maske za upisivanje međuspremnika ograničavaju zahvaćene bafere.

Stanje alfa funkcije, funkcije miješanja i stencilinga ne utječu na jasno.

Primjeri

Da biste izbrisali ekran na svijetlo plavo:

image

image

Grafički kontekst

Nema

Vidi takođe

CLEAR_COLOR_A, CLEAR_STENCIL, CLEAR_TAG, CLEAR_COLOR_RGB


image

Parametri

alpha

Vrednost alfa koja se koristi prilikom brisanja bafera boja. Početna vrijednost je 0

Grafički kontekst

Vrijednost alfa je dio grafičkog konteksta, kao što je opisano u odjeljku 4.1

Vidi takođe

CLEAR_COLOR_RGB, CLEAR


image

Parametri

crveno

Crvena vrednost se koristi kada se obriše bafer boje. Početna vrijednost je 0

zeleno

Zelena vrednost se koristi kada se obriše bafer boje. Početna vrijednost je 0

plava

Plava vrijednost koja se koristi kada se obriše bafer boje. Početna vrijednost je 0

Opis

Postavlja vrijednosti boja koje koristi sljedeći CLEAR.

Primjeri

Da biste izbrisali ekran na svijetlo plavo:

image

image

Grafički kontekst

Vrijednosti crvene, zelene i plave su dio grafičkog konteksta, kao što je opisano u

odeljak 4.1

Vidi takođe

CLEAR_COLOR_A, CLEAR


image

Parametri

s

Vrijednost koja se upotrebljava kada se bafer šablona izbriše. Početna vrijednost je 0

Grafički kontekst

Vrijednost s je dio grafičkog konteksta, kao što je opisano u odjeljku 4.1

Vidi takođe

CLEAR


image

Parametri

t

Vrijednost koja se upotrebljava kada se obriše spremnik oznaka. Početna vrijednost je 0.

Grafički kontekst

Vrijednost s je dio grafičkog konteksta, kao što je opisano u odjeljku 4.1

Vidi takođe

TAG, TAG_MASK, CLEAR


image

Parametri

alpha

Alfa za trenutnu boju. Početna vrijednost je 255

Opis

Postavlja alfa vrijednost primijenjenu na nacrtane elemente - točke, linije i bitmape. Kako

alfa vrijednost utiče na piksele slike ovisi o BLEND_FUNC; podrazumevano ponašanje

je transparentna mješavina.

Primjeri

Crtanje tri znaka s transparentnošću 255, 128 i 64:

image

Grafički kontekst

Vrijednost alfa je dio grafičkog konteksta, kao što je opisano u odjeljku 4.1

Vidi takođe

COLOR_RGB, BLEND_FUNC

image

Parametri

r

Omogućite ili onemogućite ažuriranje crvenog kanala u baferu boja FT800. Inicijalni

vrijednost je 1 i znači omogućiti.

g

Omogućite ili onemogućite ažuriranje zelenog kanala FT800 bafera boja. The

početna vrijednost je 1 i znači omogućiti.

b

Omogućite ili onemogućite ažuriranje plavog kanala u baferu boja FT800. Inicijalni

vrijednost je 1 i znači omogućiti.

a

Omogućite ili onemogućite ažuriranje alfa kanala u baferu boja FT800. The

početna vrijednost je 1 i znači omogućiti.

Opis

Maska boja kontrolira da li se vrijednosti boje piksela ažuriraju. Ponekad

koristi se za selektivno ažuriranje samo crvenih, zelenih, plavih ili alfa kanala

image. Češće se koristi za potpuno onemogućavanje ažuriranja boja prilikom ažuriranja

tampon i šablonski baferi.

Primjeri

Nacrtajte '8' cifru u sredini ekrana. Zatim naslikajte nevidljivi kružni oblik od 40 piksela

dodirnite područje u bafer oznaka:


image

Grafički kontekst

Vrijednosti r, g, b i a dio su grafičkog konteksta, kao što je opisano u odjeljku

4.1

Vidi takođe

TAG_MASK


image

Parametri

crveno

Crvena vrijednost za trenutnu boju. Početna vrijednost je 255

zeleno

Zelena vrednost za trenutnu boju. Početna vrijednost je 255

plava

Plava vrijednost za trenutnu boju. Početna vrijednost je 255

Opis

Postavlja crvene, zelene i plave vrijednosti u boji bafera FT800 koje će se primijeniti na

nakon operacije izvlačenja.

Primjeri

Crtanje tri znaka različitih boja:

image

Grafički kontekst

Vrijednosti crvene, zelene i plave su dio grafičkog konteksta, kao što je opisano u

odeljak 4.1

Vidi takođe

COLOR_A