Lucrări pregătitoare, când introduceți informații cu mouse-ul

Programul de lucru cu mouse-ul include următoarele operații:

1) verificați instalarea driverului mouse-ului;

2) specificarea formei și formei cursorului manipulatorului;

3) stabiliți limitele de deplasare a cursorului pe ecran;







4) o descriere a sensibilității cursorului care corespunde numărului de mickeys,
perpendicular pe ecran orizontal și vertical;

5) setarea pragului de viteză dublă a cursorului;

6) includerea cursorului de manipulator;

7) Setați cursorul în poziția inițială a ecranului.

Toate operațiile de mai sus sunt efectuate cu întrerupere 33h. Luați în considerare.

Instalarea driverului mouse-ului se face prin funcție

Ca rezultat al executării sale, 0000h este introdus în registrul AX. dacă driverul mouse-ului lipsește sau FFFFh dacă mouse-ul este gata de lucru.

În registrul BX este stabilit numărul de butoane ale manipulatorului: 0002h - două butoane, 0003h - trei butoane și 0000h - nu două butoane.

Programul corespunzător poate avea următoarea formă

-AX = 0,
geninterrupt (0 x 33);

dacă (-AX = = 0) pune ("șoferul mouse-ului lipsește!");

altfel pune ("mouse-ul este gata").

Specificarea formei și a formei cursorului se face separat pentru modul text și pentru grafică

În modul text, forma cursorului este specificată de funcție

În plus, sunt completate următoarele registre.

Registrul BX este introdus 00 sau 01, în funcție de utilizarea unui cursor programabil sau dur. Un cursor "dur" este un cursor
Coincide cu cursorul obișnuit al unui ecran TV care ocupă mai multe linii
în cadrul familiarității. În acest caz, registrul CX stabilește numărul
linia de scanare superioară și în registrul DX - numărul mai mic.

De exemplu, dacă scrieți o valoare de 0 în CX și o valoare de 7 ore în DX,
atunci cursorul va apărea ca un dreptunghi 8x8 biți în dimensiune. Dacă luăm CX = 7h, DX = 7h, atunci cursorul va lua fața liniei întinse
La baza dreptunghiului de mai sus sau la baza familiarității.

Un cursor programabil este creat după cum urmează. Registrul CX este plasat
ȘI - masca cursorului, și în registrul DX-XOR, -masc. De exemplu, dacă doriți să programați cursorul ca un accident vascular cerebral la baza familiarității, atunci se folosește codul său ASCII egal cu 5F. Noi scriem

AND-mask = 0000h și XOR-mask = xx5Fh

Semnele XX din masca XOR definesc atributul caracter al cursorului.

Rețineți că formarea cursorului pe ecran este după cum urmează.
Mai întâi, se face o operație exclusiv OR între masca XOR și
AND-mask cursor:

Z = (XOR-masca XOR AND-mask)

Rezultatul este multiplicat bit-by-bit cu starea ecranului în această familiaritate:
starea ecranului = starea ecranului ȘI Z.

Programul pentru crearea unui cursor dur este:

și programate pentru acest exemplu:

În acest caz, octetul atributului cursorului este XX = 33.

În modul grafic, orice formă a cursorului în
într-un dreptunghi de 16 x 16 pixeli.

Pentru aceasta, sunt specificate două măști: AND, - (masca de ecran) și masca XOR
(masca cursorului).

Operațiile binare privind formarea culorii pixelilor pe ecran sunt prezentate în Tabelul 83

Pixel color pe ecran

Culoarea de fundal Culoarea albă Culoarea pixelului actual Inversiunea bițială a culorii actuale a pixelilor

Caracteristica cursorului grafic este de a avea loc cald așa-numitul (hotspot) în coordonate relative pentru un punct de referință care a trecut colțul din stânga sus al unui dreptunghi de 16 x 16 pixeli. Un punct fierbinte este pixelul indicat în prezent de cursorul grafic.

Cursorul grafic este descris de funcție

În acest caz, numărul coloanei relative este indicat în registrul BX
spot fierbinte și în registrul CX - numărul liniei corespunzătoare.

De exemplu, luați în considerare măștile XOR ale cursorului în notație binară.

1000 0000 0000 0000

0100 0000 0000 0000

0110 0000 0000 0000

0011 0000 0000 0000

0011 1000 0000 0000

0011 1100 0000 0000

0011 1110 0000 0000

0011 1111 0000 0000

0001 1111 1000 0000

0001 1111 1100 0000

0000 1111 1110 0000

0000 0111 1111 0000

0000 1111 1111 1000

0000 0111 1111 1100

0000 0111 1111 1110

0000 0011 1111 1111

Această mască din sistemul de numere hexazecimale corespunde cu
COD

0x8000; 0H4000; 0H3000; 0H3800;

0H3800; 0H3600; 0H3E00; 0X1F00;

0X1F80; 00 CF0; 0X0FE0; 0H07F0;

0X0FF8; 0X07FC; 0X07FE; 0X03FF;

Masca CHO este reprezentată pe fundalul măștii AED (fundal alb).

0XFFFF 0XFFFF 0XFFFF 0XFFFF

0XFFFF 0XFFFF 0XFFFF 0XFFFF

0XFFFF 0XFFFF 0XFFFF 0XFFFF

0XFFFF 0XFFFF 0XFFFF 0XFFFF

Rezultatul este un cursor vizibil pe orice fundal.

Pentru cursor alb pe fundalul curent al AND-masca este inversat cuvinte XOR - Masca: în cazul în care în XOR - unitatea de mască de față, în - masca de zerouri.

MAP corespunzător va avea forma.

0X7FFF 0XBFFF 0XCFFF 0XC7FF

0XS'7FF 0XC3FF 0XC1FF 0XE0FF

0XE07F 0XF03F 0XF01F 0XF80F

OXF007 0XF803 0XF801 0XFC00

Măștile AND - și XOR - rezultate sunt elemente ale unei matrice, cum ar fi
static nesemnate sereen_and_cursor_masks [] =

Programul care implementează setarea cursorului poate avea următoarea formă

unde hot_spot_column, hot_spot_row - coordonatele X, Y ale punctului fierbinte.

Limitele mișcării cursorului sunt determinate de funcțiile AX = 0007 și

AX = 0008 întrerupe 33h. Prima funcție stabilește limitele mișcării de-a lungul verticalei, iar a doua - orizontală. În registrele CX și DX sunt setate limitele minime și maxime pentru deplasarea cursorului. Programele corespunzătoare pot avea următoarea formă. Pentru limitele orizontale







Pentru limitele verticale

Programele rezultate pot face funcțiile C corespunzătoare pentru alocarea marginilor de mișcare a cursorului. În mod prestabilit, cursorul este prevăzut cu întregul ecran.

Sensibilitatea cursorului este stabilită de funcția AX = 000Fh.
În registrele CX și DX, valorile de sensibilitate din mickey sunt setate la 8 pixeli atât orizontal cât și vertical. De exemplu, un program care stabilește sensibilitatea unui șoarece pe pixel poate să arate ca:

Setarea pragului de viteză dublă se realizează prin funcția AX = 0013h. În acest caz, pragul de viteză dublă este înregistrat în registru. În mod implicit, este de 64 mikey / s. Acest program utilizează doar trei instrucțiuni

În acest exemplu, se presupune că pragul de viteză dublă este de 32 mic / s. După ce atinge viteza mouse-ului de pe ecran este dublată.

Setările curente ale cursorului mouse-ului sunt determinate de funcția AX = 001Bh. În registrul BX, puteți citi sensibilitatea pe orizontală, în sensibilitatea CX pe verticală și în DX - pragul de viteză dublă.

Cursorul poate fi pornit de funcția AX = 0001 a întreruperii 33h, iar funcția AX = 0002 a aceleiași întreruperi este dezactivată.

Următoarele macrocomenzi sunt recomandate pentru a activa sau dezactiva cursorul.
#define CURSOR_ON () _AX = 1; geninterrupt (0X33);

# definește CURSOR_OFF () _AX = 1; geninterrupt (0X33);

Setarea cursorului în poziția inițială a ecranului se realizează prin funcția AX = 0004h. În acest caz, coordonatele orizontale ale cursorului trebuie să fie setate în registrul CX, iar coordonatele verticale din DX.

Funcția corespunzătoare poate fi compilată pe baza următoarelor
instrucțiuni

71. Citirea poziției cursorului și a stării butoanelor mouse-ului.

Pentru a determina locația cursorului și starea butoanelor manipulatorului, utilizați funcția AX = 0003h. În registrul BL se afișează starea butoanelor de manipulator:

bitul 0 este egal cu I - butonul stânga este apăsat

este 0 - butonul din dreapta nu este apăsat

bitul I este egal cu I - butonul din dreapta apăsat

este 0 - butonul din dreapta nu este apăsat

bit 2 este egal cu I - butonul din mijloc este apăsat

este 0 - nu este apăsat niciun buton din mijloc

Nu se utilizează bucățile 3-7.

Coordonarea orizontală a cursorului este definită în registrul CX. și în registrul DX - vertical. Un exemplu de program care implementează operațiile numite are forma

În modul text, locația cursorului și numărul cerut de clicuri determinate de AX butoane funcționale = 4. 0005 în registrul BX prevenita identificator buton: 0 - 0 cerere buton stânga, dreapta 1 -interogare 0, 2 - buton de mijloc 0 cerere. După terminarea tuturor
numărul de presiuni ale butoanelor este returnat în VX, coordonatele orizontale și verticale ale cursorului sunt afișate în CX și DX.

Trebuie notat că numărul de eliberări ale butoanelor mouse-ului este determinat
funcție AX = 0006h.

Programul care implementează acțiunea de mai sus poate fi, de exemplu, pentru un buton din stânga astfel

Pentru referință, funcția AX = 000Bh este utilizată pentru a determina mișcarea totală a cursorului de-a lungul liniilor orizontale și verticale. În acest caz, valorile corespunzătoare mișcării cursorului de-a lungul axelor corespunzătoare sunt returnate în CX și DX.

Tablete grafice (digitizatoare) și caracteristicile acestora.

Tableta grafică (digitizor) este o intrare hardware a informațiilor grafice prezentate sub formă de coordonate dreptunghiulare X, Y, coordonate ale tabletei.

Diferența dintre digitizor și mouse este după cum urmează.

1. Utilizând digitizatorul se realizează atât poziționarea relativă cât și cea absolută.

Cu poziționarea relativă, care se realizează la șoarece, se determină coordonatele punctului următor al celei precedente.

La absolut, care este specific numai digitizatorului, poziția
punctul de pe tabletă este determinat în raport cu colțul din stânga jos al zonei de lucru a tabletei.

2. Tableta grafică utilizează atât un cursor, cât și un stilou pentru a introduce informații. În acest caz, stiloul de digitizare copiază desenul când introduceți informații într-o scală de la unul la unul.

Tabletele grafice au următoarele caracteristici.

1. Dimensiunea tabletei acoperă un interval de 5 x 5 inchi până la 36 x 48 țoli.

2. Rezoluția este determinată de numărul de linii plasate într-un centimetru. Precizia caracterizează o eroare acceptabilă în determinarea coordonatelor unui punct.

3. Viteza determină numărul de puncte pe secundă care este transferat de la tabletă la un calculator personal.

4. Proximitatea determină distanța de la suprafața tabletei la stiloul injector (pen), la care sunt recunoscute punctele de pe tabletă.

5. Software și înlocuirea produselor software (emulație). Tabletele grafice sunt prevăzute cu drivere proprii, cu programe grafice. Dar ele pot înlocui (emula) și programele existente. De exemplu, șoferul mouse-ului poate fi înlocuit. Și în
În acest caz, tableta grafică va funcționa ca un mouse.

6. Cursoare și pene. Cursoarele și penele sunt folosite pentru a lucra cu tableta. Ambele dispozitive pot avea atât conexiune prin cablu, cât și fără fir. Cursorul seamănă cu un șoarece în forma sa și poate conține
de la unul la 16 butoane.

Pene pot fi cerneală și negru. Primul buton Pen
este în partea de jos și este activată atunci când este apăsată. Al doilea buton și alte butoane
sunt situate pe suprafața laterală a stiloului injector (pen-ului).

Recent, a fost utilizată așa-numita peroxidare. apel
această sau acea funcție se realizează prin forța de presare a acesteia.
Nivelul de presiune al stiloului este în unități de la 64 la 256.

7. Șabloanele meniului de selectare a funcțiilor sunt plasate pe o tabletă sub forma unui blanc de plastic multistrat care identifică locațiile din tabletă pentru selectarea funcțiilor.

Mutați cursorul sau stiloul în poziția curentă a șablonului și apăsați
butonul apelează funcția corespunzătoare.

8. Tehnologia comprimatelor determină principiul funcționării tabletei. În sensul GIS, tehnologia comprimatelor este practic irelevantă.

9. Ergonomia determină optimitatea procesului de lucru
tabletă grafică. În acest scop, se selectează cel mai convenabil comprimat.

De exemplu, luați în considerare tableta grafică Easy Painter. Acest digitizer funcționează în DOS, precum și Windows 95 și 3.1. Ele pot înlocui complet mouse-ul manipulatorului. Următoarele tipuri de lucrări sunt efectuate de un digitizor

2) control cursor pe ecran,

3) selectați locul șablonului pentru a efectua o funcție specifică.

Digitizatorul include: tableta I (figura 44), pix cu două butoane 2, software (utilități) pentru DOS și Windows 95, 3.1. aplicații, manual de utilizare.

Digitizatorul prezent are următoarele caracteristici:

a) zona de lucru (dimensiune) de 5x5 inci

b) rezoluție de 1016 linii pe inch

c) Precizia este de 0,01 inci.

d) viteza de 9600 biți pe secundă

e) proximitatea de 0,5 inch

e) software - utilitarele DOS și Windows și înlocuirea (emularea) șoferului mouse-ului.

g) pointer - pene cu două butoane

h) tehnologie - electromagnetică.

Dacă digitizatorul utilizează propriul adaptor de comunicare, trebuie să îl instalați mai întâi, precum și adaptorul mouse-ului. Apoi digitizatorul se conectează pur și simplu la adaptor. De regulă, digitizatorul este conectat la un port serial liber, alimentarea este conectată și pornirea software-ului corespunzător.

Să luăm în considerare procedura de instalare utilizând exemplul digitizatorului Easy Painter.

1. Opriți calculatorul.

2. Conectați stiloul injector (pen-ul) la slotul din partea dreaptă a tabletei.

3. Conectați tableta la computer. În acest caz, conectați mufa cu 9 pini la conectorul corespunzător.

4. Porniți computerul. Dacă lampa de avertizare a tabletei (pe partea stângă) este aprinsă intens, înseamnă că stiloul este în zona de lucru și limitele de proximitate. Dacă sunt încălcate limitele de proximitate ale zonei de lucru, lumina clipește.

Digitizatorul pen - necorectat. În DOS, butonul de jos corespunde cu butonul stâng al mouse-ului, iar butonul lateral cu butonul din dreapta.

În Windows, în mod prestabilit, butoanele sunt aceleași. Dar poate fi modificat prin programul WCPNLKYE.EXE de la Windows.







Articole similare

Trimiteți-le prietenilor: