Bosh sahifa > Yangiliklar > Kontent

Tasvirni oddiygina chizishni boshlang

Apr 26, 2019

BEGIN

Grafiklarni ibtidoiy chizishni boshlang

image

image

Ta'rif

FT800 tomonidan qo'llab-quvvatlanadigan barcha ibtidoiylar yuqoridagi jadvalda ko'rsatilgan. Ibtidoiy

chizish uchun BEGIN buyrug'i tanlanadi. Ibtidoiy tanlanganidan so'ng, u bo'ladi

yangi ibtidoiy BEGIN buyrug'i bilan tanlangangacha amal qiladi.

Esda tutingki, ibtidoiy chizilgan jarayoni bajarilmaydi

VERTEX2II yoki VERTEX2F amalga oshiriladi.

image

image

Parametrlar

ushlab turing

Bitmap ushlagichi. Boshlang'ich qiymat 0 ga teng. Joriy qiymat oralig'i 0 dan 31 gacha.

Ta'rif

16-dan 31-gachasi tutqichlar FT800 tomonidan o'rnatilgan shriftda belgilanadi va 15-qo'riqchi hisoblanadi

Co-protsessor dvigatelida CMD_GRADIENT, CMD_BUTTON va

CMD_KEYS. Foydalanuvchilar 0 dan 14 gachasi tutqichlarni ishlatib, yangi bitmaplarni belgilashlari mumkin

Co-protsessorli vosita CMD_GRADIENT, CMD_BUTTON va CMD_KEYS buyruqlariga ega emas

Joriy ekran ro'yxati, foydalanuvchilar 15-gachasi dastani yordamida bitmapni belgilaydilar.

Grafik tarkibi

Tutqichning qiymati, 4.1-bo'limda ta'riflanganidek, grafik kontekstning bir qismidir

Shuningdek qarang

BITMAP_LAYOUT, BITMAP_SIZE


image

image

Qo'llab-quvvatlaydigan turli bitmap formatlari quyidagilardir:

image

image

BARGRAPH - ma'lumotni grafika sifatida ko'rsatish. Agar bayt qatorida x koordinatasini topsa, keyin

bayt qiymati y dan kam bo'lsa, shaffof pikselni beradi, aks holda shaffof piksel. The

natija bitmap ma'lumotlarining bir grafigi. Eng ko'p 256x256 o'lchamli bitmap bo'lishi mumkin

BARGRAF formati yordamida chizilgan. Grafikning yo'nalishi, kengligi va balandligi bo'lishi mumkin

bitmap konvertatsiya matritsasi yordamida o'zgartirilgan.

TEXT8X8 - qattiq 8x8 shriftda qidirish. Bitmap grafikalardagi bayt qatori

ram va har bir bayt indekslarini ichki 8x8 CP437 [2] shriftiga (inbuilt font bitmap

qo'llar 16 va 17 TEXT8X8 formatini olish uchun ishlatiladi). Natija - bu bitmap

belgilar panjasi kabi ishlaydi. Butun yoki bir qismini qamrab oladigan bitta bitmap tuzilishi mumkin

displey; bitmap ma'lumotidagi har bir bayt 8x8 pikselli belgilar uyasiga mos keladi.

TEXTVGA - TEXTVGA sintaksisi bilan sobit 8x16 shriftda qidirish. Bitmap - TEXTVGA

grafika ramkasida mavjud bo'lgan har bir element indekslarni ichki 8x16 CP437 [2]

shrift (ichki shrift bitmapining egalari 18 va 19 TEXTVGA formatini chizish uchun ishlatiladi

fon rangi, old fon rangi va kursor va hokazo. kabi ma'lumotlarni boshqarish). The

natija, bitmap TEXTVGA panjasi kabi ishlaydi. Bitta bitmap qanday chizilgan bo'lishi mumkin

displeyning hammasini yoki bir qismini o'z ichiga oladi; Bitmapdagi har bir TEXTVGA ma'lumotlar turi mos keladi

bir 8x16 pikselli belgilar xujayrasi.

PALETTED - bitmap baytlari palletlar jadvaliga indekslardir. Palletlar jadvalidan foydalanish -

32 bitli RGBA ranglarini o'z ichiga oladigan - xotira miqdori katta. The

256 rangli palet maxsus 1K (256x4) byte RAM_PALda saqlanadi.

linestride

Bitmap linestride, baytlarda. Iltimos, hizalama talabiga e'tibor bering

quyida tasvirlangan.

balandligi

Bitmap balandligi, satrlarda

Ta'rif

Qo'llab-quvvatlanadigan bitmap formatlari L1, L4, L8, RGB332, ARGB2, ARGB4, ARGB1555,

RGB565 va Palette.

L1 formati uchun chiziqli qadam 8 bitli ko'p bo'lishi kerak; L4 formati uchun liniya

qadam 2 nibblesdan iborat bo'lishi kerak. (Byte uchun hizalanır)

Hizalanish haqida batafsil ma'lumot uchun quyidagi raqamlarga murojaat qiling:

image

image

image

Grafik tarkibi

Yo'q

Shuningdek qarang

BITMAP_HANDLE, BITMAP_SIZE, BITMAP_SOURCE

image

Parametrlar

filtri

Bitmap filtrlash rejimi, eng yaqin yoki BILINEARdan biri

Yaxshilikning qiymati 0 va BILINEARning qiymati 1 dir.

wrapx

Bitmap x o'ram rejimi, REPEAT yoki BORDER biri

BORDER qiymatining qiymati 0 va REPEAT qiymati 1 dir.

sariq

Bitmap y-sariq rejimi, REPEAT yoki BORDERdan biri

kengligi

Pikseldagi chizilgan bitmap kengligi

balandligi

Tayyorlangan bitmap balandligi, pikselda


Ta'rif

Ushbu buyruq bitmap chizilganlarni boshqaradi: bitmapning ekrandagi o'lchami,

o'tkazish jarayoni va filtrlash funktsiyasi. E'tibor bering, albatta, agar wrapx yoki

wrapy - bu REPEAT, keyin esa tegishli xotira hajmining o'lchami

(BITMAP_LAYOUT satr satr yoki balandligi) ikkita kuch bo'lishi kerak, aks holda natijalar

aniqlanmagan.

Parametr kengligi va balandligi uchun 1 dan 511 gacha bo'lgan qiymat bitmap kengligi degan ma'noni anglatadi

va pikselning balandligi. Nolinchi qiymat 512 piksel kenglik yoki balandlik degan ma'noni anglatadi.


Misollar

64 x 64 bitmapni chizish:

image

image

Bitmapni qo'shish uchun REPEAT saralash rejimidan foydalanish: dl (BITMAP_SO

image

image

image

Grafik tarkibi

Yo'q

Shuningdek qarang

BITMAP_HANDLE, BITMAP_LAYOUT, BITMAP_SOURCE


image

Parametrlar

adr

Bitmap manzili bitmapga nisbatan hizalanadigan SRAM FT800 grafikasida

formati.

Misol uchun, bitmap formati RGB565 / ARGB4 / ARGB1555 bo'lsa bitmap

manba 2 baytga teng bo'lishi kerak.

Ta'rif

Bitmap manba manzili, odatda, asosiy xotiradagi manzil

bitmap grafik ma'lumotlari yuklangan.

Misollar

0 raqamiga yuklangan 64 x 64 bitmapni chizish:

image

Xuddi shu grafik ma'lumotlardan foydalanish, lekin manba va o'lchov bilan faqatgina a ko'rsatiladi

32 x 32 batafsil:

image

Grafik tarkibi

Yo'q

Shuningdek qarang

BITMAP_LAYOUT, BITMAP_SIZE


image

Parametrlar

a

Bitmapli transform matritsasining koeffitsienti, imzolangan 8,8 bitlik sobit nuqtada

shakl. Dastlabki qiymat 256 ga teng.

Ta'rif

Bitmapli konvertatsiya qilish uchun BITMAP_TRANSFORM_A-F koeffitsientlari ishlatiladi

o'lchov, aylanish va tarjima kabi funksiyalar. Ular OpenGLga o'xshaydi

konvertatsiya qilish funksiyasi.

Misollar

0.5 (128) qiymatida bitmap ikki marta kenglik paydo bo'lishiga sabab bo'ladi:

image

image

Grafik tarkibi

A qiymati 4.1-bo'limda tasvirlanganidek, grafik kontekstning bir qismidir

Shuningdek qarang

Yo'q


image

Parametrlar

b

Bitmapli transform matritsasining B koeffitsienti, imzolangan 8,8 bitlik sobit nuqtada

shakl. Bosh qiymati 0 ga teng

Ta'rif

Bitmapli konvertatsiya qilish uchun BITMAP_TRANSFORM_A-F koeffitsientlari ishlatiladi

o'lchov, aylanish va tarjima kabi funksiyalar. Ular OpenGLga o'xshaydi

konvertatsiya qilish funksiyasi.

Grafik tarkibi

B qiymati, 4.1-bo'limda ta'riflanganidek, grafik kontekstning bir qismidir

Shuningdek qarang

Yo'q

image

Parametrlar

v

Bitmap konvertatsiya matritsasining koeffitsienti, imzolangan 15,8 bitlik sobit nuqtada

shakl. Bosh qiymati 0 ga teng

Ta'rif

Bitmapli konvertatsiya qilish uchun BITMAP_TRANSFORM_A-F koeffitsientlari ishlatiladi

o'lchov, aylanish va tarjima kabi funksiyalar. Ular OpenGLga o'xshaydi

konvertatsiya qilish funksiyasi.

Grafik tarkibi

C ning qiymati, 4.1-bo'limda ta'riflanganidek, grafik kontekstning bir qismidir

Shuningdek qarang

Yo'q


image

Parametrlar

g

Bitmapli transform matritsasining D koeffitsienti, imzolangan 8,8 bitlik sobit nuqtada

shakl. Bosh qiymati 0 ga teng

Ta'rif

Bitmapli konvertatsiya qilish uchun BITMAP_TRANSFORM_A-F koeffitsientlari ishlatiladi

o'lchov, aylanish va tarjima kabi funksiyalar. Ular OpenGLga o'xshaydi

konvertatsiya qilish funksiyasi.

Grafik tarkibi

D qiymati 4.1 qismida ta'riflanganidek, grafik kontekstning bir qismidir

Shuningdek qarang

Yo'q


image

Parametrlar

e

Bitmapli transform matritsasining E koeffitsienti, imzolangan 8,8 bitlik sobit nuqtada

shakl. Dastlabki qiymat 256 ga teng

Ta'rif

Bitmapli konvertatsiya qilish uchun BITMAP_TRANSFORM_A-F koeffitsientlari ishlatiladi

o'lchov, aylanish va tarjima kabi funksiyalar. Ular OpenGLga o'xshaydi

konvertatsiya qilish funksiyasi.

Misollar

0.5 (128) qiymatida bitmap ikki tomonlama balandlikka olib keladi:


image

Grafik tarkibi

E ning qiymati, 4.1 qismida ta'riflanganidek, grafik kontekstning bir qismidir

Shuningdek qarang

Yo'q


image

Parametrlar

f

Bitmapli transform matritsasining F koeffitsienti, imzolangan 15,8 bitlik sobit nuqtada

shakl. Bosh qiymati 0 ga teng

Ta'rif

Bitmapli konvertatsiya qilish uchun BITMAP_TRANSFORM_A-F koeffitsientlari ishlatiladi

o'lchov, aylanish va tarjima kabi funksiyalar. Ular OpenGLga o'xshaydi

konvertatsiya qilish funksiyasi.

Grafik tarkibi

F ning qiymati 4.1-bo'limda tasvirlanganidek, grafik kontekstning bir qismidir

Shuningdek qarang

Yo'q


image

Parametrlar

src

Manba aralashtirish faktorining qanday hisoblanganligini belgilaydi. ZERO biri, ONE,

SRC_ALPHA, DST_ALPHA, ONE_MINUS_SRC_ALPHA yoki

ONE_MINUS_DST_ALPHA. Dastlabki qiymat SRC_ALPHA (2) dir.

dst

Nishon aralashtirish faktorining qanday qilib hisoblanganligini aniqlaydi

src kabi sobit. Dastlabki qiymat: ONE_MINUS_SRC_ALPHA (4)

image

Ta'rif

Harman aralashmasi funktsiyasi yangi rang qiymatlarining qadriyatlar bilan birlashtirilganligini nazorat qiladi

allaqachon rangli tamponda. Bir piksel qiymat manbai va oldingi qiymatdan berilgan

rang buferidan maqsad, hisoblash rangi:

manba × src + destination xdst

har bir rangli kanal uchun: qizil, yashil, ko'k va alfa.

Misollar

(SRC_ALPHA, ONE_MINUS_SRC_ALPHA) ning sukut aralashmasi funktsiyasi sabab bo'ladi

Maqsadni alfa qiymatidan foydalanib joylashtirish uchun chizilgan:

image

image

Grafik tarkibi

Src va dst qiymatlari qismda tasvirlangan grafik tarkibining bir qismidir

4.1

Shuningdek qarang

COLOR_A

image

Parametrlar

dest

Displey buyrug'i bo'lishi kerak bo'lgan RAM_DL-dagi maqsad manzil

o'zgartirilgan. FT800 qaytarish manzilini saqlash uchun to'plamga ega. Orqaga qaytish uchun

manba manzilining keyingi buyrug'i, RETURN buyrug'i yordam berishi mumkin.

Ta'rif

CALL va RETURN mavjud ko'rsatgichga qo'shimcha ravishda 4 darajali birikma mavjud. Har qanday

qo'shimcha qo'ng'iroq / RETURN kutilmagan xatti-harakatga olib keladi.

Grafik tarkibi

Yo'q

Shuningdek qarang

JUMP, RETURN


image

Parametrlar

hujayra

bitmapli hujayra raqami. Bosh qiymati 0 ga teng

Grafik tarkibi

Hujayra qiymati 4.1 qismida ta'riflanganidek, grafik kontekstning bir qismidir

Shuningdek qarang

Yo'q


image

Parametrlar

v

Rang tamponini tozalash. Ushbu bitni 1ga sozlash FT800 ning rang tamponini o'chiradi

oldindan belgilangan qiymatga Ushbu bitni 0 ga sozlash, rangli tamponni saqlaydi

FT800 o'zgaruvchan qiymati bilan. Oldindan belgilangan qiymat buyruqda aniqlanadi

RGB-kanal uchun CLEAR_COLOR_RGB va alfa kanali uchun CLEAR_COLOR_A.

b

Tampon tamponni tozalash. Ushbu bitni 1 ga sozlash stencil buferini o'chiradi

FT800 oldindan belgilangan qiymatga. Ushbu bitni 0 ga sozlash stencilni saqlab qoladi

o'zgaruvchan qiymati bilan FT800 bufer. Oldindan belgilangan qiymat aniqlangan

buyrug'i CLEAR_STENCIL.

t

Yorliq buferini tozalash. Ushbu bitni 1-ga sozlash FT800-ning kirish buferini o'chirib tashlaydi

oldindan belgilangan qiymat. Ushbu bitni 0 ga sozlash taglik buferini saqlab qoladi

FT800 o'zgaruvchan qiymati bilan. Oldindan belgilangan qiymat buyruqda aniqlanadi

CLEAR_TAG.


Ta'rif

Makas tekshiruvi va bufer yozish maskalari aniq ishlashga ta'sir qiladi. Qo'lbola makas

tozalangan to'rtburchakni cheklaydi va bufer yozish maskalari ta'sirlangan tamponlarni cheklaydi.

Alfa funksiyasi holati, qorishma vazifasi va shablonni tozalash aniq ta'sir qilmaydi.

Misollar

Ekranni porloq ko'k rangda tozalash uchun:

image

image

Grafik tarkibi

Yo'q

Shuningdek qarang

CLEAR_COLOR_A, CLEAR_STENCIL, CLEAR_TAG, CLEAR_COLOR_RGB


image

Parametrlar

alfa

Rang bufferi tozalanganida ishlatiladigan alfa qiymati. Bosh qiymati 0 ga teng

Grafik tarkibi

Alfa qiymati 4.1-bo'limda tasvirlanganidek, grafik kontekstning bir qismidir

Shuningdek qarang

CLEAR_COLOR_RGB, CLEAR


image

Parametrlar

qizil rangli

Rang bufferi tozalanganida ishlatiladigan qizil qiymat. Bosh qiymati 0 ga teng

yashil rangda

Rang bufferi tozalanganida ishlatiladigan yashil qiymat. Bosh qiymati 0 ga teng

ko'k

Rang bufferi tozalanganida ishlatiladigan ko'k qiymati. Bosh qiymati 0 ga teng

Ta'rif

Quyidagi CLEAR tomonidan ishlatiladigan rang qiymatlarini belgilaydi.

Misollar

Ekranni porloq ko'k rangda tozalash uchun:

image

image

Grafik tarkibi

Qizil, yashil va moviy qiymatlari tasvirlanganidek, grafik kontekstning bir qismidir

4.1-bo'lim

Shuningdek qarang

CLEAR_COLOR_A, CLEAR


image

Parametrlar

b

Stencil buferi tozalanganida ishlatiladigan qiymat. Bosh qiymati 0 ga teng

Grafik tarkibi

S-qiymati 4.1-bo'limda tasvirlangan grafik kontekstning bir qismidir

Shuningdek qarang

CLEAR


image

Parametrlar

t

Tag buferi tozalanganida ishlatiladigan qiymat. Bosh qiymati 0 ga teng.

Grafik tarkibi

S-qiymati 4.1-bo'limda tasvirlangan grafik kontekstning bir qismidir

Shuningdek qarang

TAG, TAG_MASK, CLEAR


image

Parametrlar

alfa

Hozirgi rang uchun alfa. Dastlabki qiymat 255 ga teng

Ta'rif

Chizilgan elementlarga qo'llaniladigan alfa qiymatini belgilaydi - ballar, chiziqlar va bitmaplar. Qanday

alfa qiymati tasvir pikseliga ta'sir qiladi BLEND_FUNC ga bog'liq; ko'rsatuv xatti

shaffof aralashmasidir.

Misollar

255, 128 va 64 shaffofligi bilan uchta belgi:

image

Grafik tarkibi

Alfa qiymati 4.1-bo'limda tasvirlanganidek, grafik kontekstning bir qismidir

Shuningdek qarang

COLOR_RGB, BLEND_FUNC

image

Parametrlar

r

FT800 rang tamponining qizil kanal yangilanishini yoqish yoki o'chirish. Boshlang'ich

qiymati 1 va faollikni bildiradi.

g

FT800 rangli tampon yashil kanalni yangilashni yoqish yoki o'chirish. The

boshlang'ich qiymati 1 va faollikni bildiradi.

b

FT800 rang tamponining ko'k kanalini yangilashni yoqish yoki o'chirish. Boshlang'ich

qiymati 1 va faollikni bildiradi.

a

FT800 rangli tampon alfa-kanali yangilanishini yoqish yoki o'chirish. The

boshlang'ich qiymati 1 va faollikni bildiradi.

Ta'rif

Rang maskani bir pikselning rang qiymatlari yangilanganligini tekshiradi. Ba'zan

faqatgina qizil, yashil, ko'k yoki alfa kanallarini tanlab yangilash uchun ishlatiladi

tasvir. Ko'pincha, u yangilanish vaqtida rang yangilanishlarini butunlay o'chirib qo'yish uchun ishlatiladi

yorliq va stencil buffers.

Misollar

Ekranning o'rtasida "8" raqamni chizish. Keyin ko'rinmas 40 pikselli dumaloq bo'yoq

teglar maydonini tag buferiga kiritish:


image

Grafik tarkibi

R, g, b va a ning qiymatlari qismda tasvirlanganidek, grafik kontekstining bir qismidir

4.1

Shuningdek qarang

TAG_MASK


image

Parametrlar

qizil rangli

Joriy rang uchun qizil rang. Dastlabki qiymat 255 ga teng

yashil rangda

Joriy rang uchun yashil qiymat. Dastlabki qiymat 255 ga teng

ko'k

Mavjud rang uchun moviy qiymat. Dastlabki qiymat 255 ga teng

Ta'rif

FT800 rangi tamponining qizil, yashil va ko'k qiymatlarini belgilaydi

chizish jarayonida.

Misollar

Turli xil rangdagi uchta belgi:

image

Grafik tarkibi

Qizil, yashil va ko'k qiymatlari tasvirlanganidek, grafik kontekstning bir qismidir

4.1-bo'lim

Shuningdek qarang

COLOR_A