Sunteți pe pagina 1din 32

Grafica pe calculator

Sisteme i adaptoare grafice


Victor Moraru
victor.moraru@utm.md
Planul cursului
1. Sisteme grafice
1.1. Softul sistemelor grafice
1.2. Standarde n grafic
2. Adaptoare video i moduri grafice
2.1. Adaptoare video
2.2. Moduri grafice

2
1.1. Softul sistemelor grafice
Programele din componena unui sistem grafic de
sintez sunt n general structurate n dou nivele:
nivelul dependent de echipamente, format din
programele de tip "driver"
nivelul independent de echipamente, realizat ca
o bibliotec de subprograme apelabile din
programele de aplicaie, numit biblioteca grafic

3
1.1. Softul sistemelor grafice
Funciile bibliotecilor grafice pot aparine urmtoarelor
categorii:
rutine de configurare:
selectarea modului grafic dorit
stabilirea zonelor de memorie pentru scrierea
fiierelor de imagini
rutine pentru stabilirea coordonatelor desenului i a
zonei active
rutine pentru stabilirea paletei de culori

4
1.1. Softul sistemelor grafice
rutine pentru stabilirea atributelor liniei: culoare
de trasare, stil, grosime
rutine pentru trasarea liniilor, arcelor, elipselor,
cercurilor, poli-liniilor, umplerea contururilor
rutine pentru afiarea textului
drivere i rutine pentru copierea imaginilor
grafice la imprimant
rutine pentru gestiunea memoriei ecran

5
1.2. Standarde n grafic
Obiective:
1. Portabilitatea programelor, cu dou aspecte:
- independent fat de sistemul de calcul i de sistemul grafic
folosit
- independena fa de echipamente
2. Portabilitatea informaiei grafice, adic posibilitatea
transferului descrierilor de imagini ntre sisteme grafice diferite
3. Posibilitatea stocrii pe termen lung a informaiei grafice
4. Uniformitatea instruirii n domeniul proiectrii i utilizrii
sistemelor grafice, asigurarea unui vocabular unic de termeni i
concepte
6
1.2. Standarde n grafic
G.K.S. (Graphical Kernel System) : primul standard
internaional n domeniul sistemelor de sintez a
imaginilor, adoptat n 1985 de ctre ISO
(International Standards Organisation) i de ctre
ANSI (American National Standards Institute)
El definete un set complet de funcii de afiare 2D
independente de echipamente, funcii de segmentare
(grupare a primitivelor grafice), de transformare, de
control al staiilor de lucru i de interaciune.

7
1.2. Standarde n grafic
Standardul G.K.S. are dou pri:
I - Specificaia funciilor sistemului grafic, ntr-o
manier independent de limbaj
II - Interfee pentru diferite limbaje de nivel nalt
(Fortran, Pascal, C, Ada), adic denumirile
subprogramelor prin care sunt implementate
funciile sistemului, parametrii fiecrui subprogram
i erorile de semnalat

8
1.2. Standarde n grafic
GKS-3D : extensie a standardului GKS adoptat ulterior
pentru sinteza imaginilor care redau obiecte tridimensionale
Subprogramele prin care sunt implementate funciile definite
n standardele GKS / PHIGS formeaz nucleul independent
de dispozitive al sistemului grafic.
Prelucrrile dependente de caracteristicile diferitelor tipuri
de echipamente sunt grupate n modulele driver.
Au fost propuse i alte standarde:
CGI (Computer Graphics Interface)
VDI (Virtual Device Interface)

9
Planul cursului
1. Sisteme grafice
1.1. Softul sistemelor grafice
1.2. Standarde n grafic
2. Adaptoare video i moduri grafice
2.1. Adaptoare video
2.2. Moduri grafice

10
2.1. Adaptoare video
Unitatea de afiare a sistemului grafic are dou
componente de baz:
adaptorul video
monitorul video
Adaptoarele video permit afiarea textelor i a
imaginilor grafice.
Informaia care se afieaz pe ecran se extrage
din memoria adaptorului video.

11
2.1. Adaptoare video
Adaptoarele grafice mai sunt numite de diveri
productori:
video cards
video boards
video display boards
video controllers
graphics cards
graphics adapters

12
2.1. Adaptoare video
Fiecrui punct (pixel) de pe ecran i
corespund unul sau mai muli bii n aceast
memorie.
Accesul n memoria video se poate face ca la
orice alt locaie de memorie a calculatorului.
Capacitatea memoriei video i organizarea ei
depind de tipul adaptorului.

13
2.1. Adaptoare video
Ecranul n mod text - este considerat ca
fiind mprit printr-o gril de 25x80 celule.
Fiecare celul poate conine un caracter.
Ecranul este adresat la nivel de caracter,
ntr-un sistem de coordonate cartezian, cu
originea (1,1) n colul din stnga sus.

14
2.1. Adaptoare video
n modul grafic ecranul este considerat ca fiind divizat
printr-o gril rectangular n celule numite pixeli.
Numrul de pixeli ai ecranului (rezoluia) depinde de
tipul adaptorului video i de modul n care acesta
lucreaz.
Imaginile grafice sunt alctuite din puncte, fiecare
punct corespunznd unui pixel.
Numrul de bii alocai n memoria video fiecrui pixel
determin numrul de culori afiabile simultan pe
ecran.
15
2.1. Adaptoare video
n mod grafic ecranul este adresat ntr-un
sistem de coordonate carteziene avnd
originea (0,0) situat n colul stnga sus.
Coordonatele (x, y) ale unui punct de pe
ecran sunt numere ntregi.
Valoarea lui x crete spre dreapta iar cea
lui y spre partea de jos a ecranului.

16
2.1. Adaptoare video
Adaptoare video standard:
EGA (Enhanced Graphics Adapter) permite lucrul n mod text
i n mod grafic.
n mod grafic, rezoluia este de 640x350 puncte, cu 16 culori
simultan pe ecran i 2 pagini video .
VGA (Video Graphics Array) - permite lucrul n mod text i n
mod grafic.
Acest adaptor este considerat un succesor al adaptorului EGA.
n mod grafic rezoluia este: 640x480 puncte i 16 culori
simultan pe ecran din 256K culori posibile, o pagin video sau
320x200 puncte i 256 culori simultan pe ecran cu o singur
pagin video.
17
2.1. Adaptoare video
XGA (Extended Graphics Array) Rezoluia este de
1024x768 pixeli, cu 24 pn la 210 culori;
SVGA (Super Video Graphics Array) - Rezoluia este
de la 640x400 puncte i 16 culori pn la 1280x1024
puncte i 16 mii culori.
AGA (Advanced Graphics Adapter) Rezoluia este de
1024 x 768 pixeli. Pentru aplicaii grafice complexe s-au
realizat adaptoare grafice dedicate cu o rezoluie
excepional (cele mai bune rezoluii ntlnite depind
nivelul de 4096 x 4096 pixeli).

18
2.1. Adaptoare video
Adaptoarele EGA folosesc monitoare digitale iar
VGA i SVGA folosesc monitoare analogice.
Un monitor digital folosete un numr fix de semnale.
Astfel, monitorul pentru adaptorul EGAfolosete 6
semnale:
trei pentru culorile de baz R, G, B (rou, verde,
albastru)
trei pentru intensiti r, g, b

19
2.1. Adaptoare video
Fiind 6 semnale digitale ar putea fi afiate 64 culori
distincte simultan pe ecran, dar numrul este limitat la
16, deoarece culoarea unui pixel se reine pe 4 bii n
memoria video.
La un monitor analogic, semnalele R, G, B pot varia
continuu.
Aceasta permite o variaie continu a nuanelor de
culori.
ns, numrul de culori disponibile este limitat de
reprezentarea digital n memoria video.

20
Planul cursului
1. Sisteme grafice
1.1. Softul sistemelor grafice
1.2. Standarde n grafic
2. Adaptoare video i moduri grafice
2.1. Adaptoare video
2.2. Moduri grafice
3. Primitive grafice
3.1. Operaii cu pixeli
3.2. Construirea liniilor
21
2.2.Moduri grafice
Fiecare tip de adaptor permite folosirea
calculatorului n unul sau mai multe moduri
grafice, numite i moduri video.
Ele se deosebesc:
1. prin rezoluia ecranului
2. numrul de culori ce se pot afia simultan pe
ecran
3. numrul de pagini video disponibile

22
2.2.Moduri grafice
n tabelul urmtor sunt prezentate modurile video specifice
tipului de adaptor VGA, moduri accesibile prin bibliotecile
grafice existente n mediul de programare C.
Prin operaia de autodetecie se determin tipul de adaptor
video i se selecteaz modul video cu rezoluia maxim.

23
2.2.Moduri grafice
Iniializarea modului grafic
initgraph(graphdriver, graphmode, cale) - funcia
stabilete valorile implicite ale parametrilor de
operare n mod grafic i ncarc de pe disc n
memorie modulul driver corespunztor primului
parametru.
Modul de lucru al driver-ului ncrcat este specificat
prin al doilea parametru iar denumirea complet a
cii unde se va caut fiierul .BGI corespunztor

24
2.2.Moduri grafice
Exemplu de utilizare a funciei de iniializare grafic
int gdriver=DETECT, gmode;
initgraph(&gdriver, &gmode, "");
Valoarea zero a parametrului GraphDriver determin apelul funciei
pentru autodetecia tipului adaptorului video instalat.
n acest caz, efectul execuiei funciei initgraph este urmtorul:
se detecteaz tipul adaptorului video instalat
se ncarc n memorie fiierul .BGI corespunztor
se selecteaz modul grafic cu rezoluia maxima pentru adaptorul
respectiv
Funcia initgraph va ntoarce numrul driver-ului ncrcat n parametrul
graphdriver i numrul modului grafic selectat n parametrul
graphmode.
25
2.2.Moduri grafice
detectgraph(graphdriver, graphmode) funcia detecteaz tipul
adaptorului video instalat.
Este de regul apelat de funcia initgraph.
Poate fi apelat i independent, dac se dorete doar stabilirea
configuraiei hardware i nu selectarea automat a modului grafic de
rezoluie maxim.
Spre deosebire de initgraph funcia nu ncarc n memorie fiierul .BGI
corespunztor.
De aceea, dup apelul funciei date trebuie apelat funcia initgraph.
Ulterior, dac se dorete schimbarea modului grafic selectat, se va
folosi funcia setgraphmode.
Pentru a cunoate dac execuia unei funcii din biblioteca grafic a
decurs normal sau nu, se pot folosi funciile graphresult i
grapherrormsg.
26
2.2.Moduri grafice
3. graphresult - funcia ntoarce codul de eroare
referitor la execuia ultimei funcii grafice. Codul de
eroare este o valoare ntreaga cuprinsa ntre -14 i 0.
4. grapherrormsg - funcia ntoarce un ir de
caractere reprezentnd mesajul corespunztor
codului de eroare furnizat de funcia graphresult.
5. getgraphmode - funcia ntoarce o valoare
ntreag ce reprezint modul video curent.

27
2.2.Moduri grafice
6. setgraphmode - funcia stabilete un nou mod video. La apelul
acestei funcii se terge ecranul i se iniializeaz toi parametrii
de operare n mod grafic la valorile implicite.
Funcia se poate utiliza la revenirea din mod text n mod grafic.
Observatie:
Funciile getgraphmode i setgraphmode se pot folosi numai
dup iniializarea modului grafic.
7. getmoderange - funcia primete ca parametru numrul unui
driver grafic i ntoarce doua valori reprezentnd numrul minim
i maxim al modului video permis pentru driver-ul grafic
specificat.

28
2.2.Moduri grafice
8. getmaxmode - funcia ntoarce numrul maxim de
moduri video pentru driver-ul grafic curent (ncrcat n
memorie de funcia initgraph).
Spre deosebire de funcia getmoderange, funcia
getmaxmode se poate utiliza pentru orice driver, inclusiv
pentru cele definite de utilizator.
9. getmodename - funcia primete ca parametru numrul
modului grafic activ, specificat fie printr-o variabila ntreag.
Funcia ntoarce un ir de caractere ce reprezint
denumirea modului video.

29
2.2.Moduri grafice
10. graphdefault - funcia iniializeaz toi parametrii de
operare n mod grafic la valorile implicite.
11. restorecrtmode - funcia reiniializeaz sistemul de
afiare n modul text, dup utilizarea modului grafic.
Se poate folosi alternativ cu setgraphmode pentru a
comuta din mod text n mod grafic, n funcie de aplicaie.
La trecerea dintr-un mod n altul, ecranul se terge i se
afieaz informaia din memoria video corespunztor
noului mod.

30
2.2.Moduri grafice
12. Ieirea din modul grafic
closegraph - funcia efectueaz revenirea n
modul text, modul implicit de lucru al sistemului
de afiare.
Ea apeleaz funcia graphfreemem pentru a
elibera memoria ocupata de driver-ul grafic,
setul sau seturile de caractere utilizate de
program precum i zonele de memorie interne .

31
ntrebri ?

32

S-ar putea să vă placă și