Documente online.
Zona de administrare documente. Fisierele tale
Am uitat parola x Creaza cont nou
 HomeExploreaza
upload
Upload




Grafica si multimedia in Visual Basic

Informatica


Grafica si multimedia în Visual Basic

        Metode grafice Vs. Controale grafice
    Exista doua moduri principale de a desena grafica în Visual Basic: utilizând metodele grafice sau utilizând controalele grafice. Metodele grafice merg mai bine acolo unde utilizând controalele grafice ar fi necesara mai multa munca. Spre exemplu trasarea unei grele de linii la un grafic ar necesita un tablou de controale linie si, doar câteva linii de cod daca s-ar utiliza metoda grafica Line. De asemenea când doriti ca un efect sa apara temporar, puteti scrie cod care sa genereze acel efect în loc sa folositi controale grafice. Metodele grafice ofera anumite efecte care nu sunt disponibile la controalele grafice. Metodele grafice sunt preferate de programatori când doresc sa creeze grafica în timpul executiei programului iar controalele grafice sunt preferate când la crearea elementelor grafice în faza de proiectare.

        Sistemul de coordonate în Visu 19419h75t al Basic
    Deoarece veti desena grafica în interiorul formelor si al controalelor (cutii cu poze, în special) trebuie sa stiti unitatile de masura si coordonatele cu care veti lucra.
Sistemul de coordonate în Visual Basic îsi are originea (0,0) în coltul stânga sus. Puctele sunt de coordonate (x,y); x este pe abscisa , y pe ordonata. Retineti ca ca y ia valori pozitive în jos pe axa. Unitatea de masura implicita este twips (1/1440 dintr-un inch). Aceasta unitate a fost aleasa astfel încât sa fie independenta de dispozitivul pe care se face afisarea (monitor, imprimanta etc.) dar daca nu vreti sa lucrati cu twips, puteti sa o schimbati cu alte unitati de masura mai familiare (milimetri, centimetri etc.); puteti chiar sa va definiti propria unitate de masura.

        Redesenarea graficii în Windows: AutoRedraw si Paint

    Unul dintre cele mai importante aspecte ale Visual Basic este faptul ofera posibilitatea ca formele sa controalele sa se redeseneze singure dupa necesitati, prin setarea proprietatii AutoRedraw cu valoarea True. Visual Basic pastreaza în memorie o copie a modului de afisare a ferestrei pe ecran si reînoieste imaginea acesteia pe ecran de câte ori este nevoie. Astefel este rezolvata una din marile probleme ale programatorilor Windows într-un mod foarte elegant. Totusi stabilire proprietatii AutoRedraw la valoarea True va determina folosirea unor resurse însemnate în special memorie. Daca nu doriti acest lucru setati AutoRedraw pe False si folositi evenimentul Paint pentru a redesena grafica deoarece acest eveniment se declanseaza ori de câte ori o forma sau un control este desenat sau redesenat.

        stergerea zonei de desenare
    Pentru a curata zona de desenare folositi metoda Cls care redeseneaza forma sau controlul pastrând aceeasi culoare de fundal.

        Stabilirea culorilor
    Voi prezenta câteva proprietati cu ajutorul carora se pot stabili culorile diferitelor obiecte:
- BackColor - culoarea fundalului uni control sau al unei forme;
- ForeColor - culoarea folosita la desenarea figurilor si textelor;
- BorderColor - culoarea chenarului;
- FillColor - culoarea de completarea a spatiului liber al unei figuri.
    În Visual Basic exista patru modalitati pentru de stabilire culorii:
- utilizând functia RGB
- utilizând functia QBColor pentru a alege una din cele 16 culori QuickBasic
- utilizarea unei constante standard definita de Visual Basic;
- introducerea unei valori ce reprezinta o anumita culoare.
    Cel mai adesea pentru a specifica o anumita culoare veti folosi functia RGB. Ia accepta trei parametri de tip Byte fiecare dintre ei specificând cantitatea de rosu, verde si albastru ce va fi continuta de culoarea dorita.
Exemple:
RGB(255,0,0) - rosu;
RGB(0,255,0) - verde;
RGB(0,0,255) - albastru;
RGB(0,0,0) - negru;
RGB(255,255,255) - alb;
RGB(128,128,128) - gri;
    Functia QBColor primeste ca parametru de intrare unul numar între 0 si 15 i returneaza una din urmatoarele culori:
. Black-0
. Blue-1
. Green-2
. Cyan-3
. Red-4
. Magenta-5
. Yellow-6
. White-7
. Gray-8
. Light blue-9
. Light green-10
. Light cyan-11
. Light red-12
. Light magenta-13
. Light yellow-14
. Light white-15
    De asemenea, pentru a secifica o anumita culoare puteti folosi una din multiplele constante standard definite de Visual Basic.
Puteti specifica o anumita culoare în mod direct printr-un întreg de tip Long. Intervalul de valori în care sunt situate toate culorile este de la 0 la 16777215 (&HFFFFFF&)

        Afisarea textul
    Puteti afisa text în interiorul formelor sau la casetelor cu poza cu ajutorul metodei Print:
Sintaxa:
[obiect.]
Print [listaiesiri] [ ]
Coltul stânga sus al textului va aparea la locatia determinata de proprietatile CurrentX si CurrentY. Daca doriti sa afisati mai multe elemente pe linii diferite separati-le cu virgula. Daca doriti sa afisati mai multe elemente pe aceeasi linie separati-le cu punct si virgula.
De asemenea în lucrul cu textele puteti formata textul sub diferite aspecte stabilind valori pentru numele, stilul, marimea fontului etc.

       
Desenarea unui dreptunghi
    Desenarea unui dreptunghi se face folosind metoda Line a formei sau a cutiei cu poza.
Sintaxa:
obiect.Line [Step] (x1,y1) [Step] (x2,y2), [color], [B], [F]
- step- cuvânt cheie indicând faptul caci coordonatele punctului de start sunt relative la pozitia curenta a graficului data de proprietatile CurrentX si CurrentY;
- x1,y1 - valori de tip Single indicând coordonatele punctului de start ale liniei;
- step - cuvânt cheie indicând faptul caci coordonatele punctului de sfârsit sunt relative la punctul de început
- x2,y2 - valori de tip Single ce indica coordonatele punctului de sfârsit;
- color - intreg de tip Long ce specifica culoarea de desenare;
- B- daca este inclusa optiunea se va desena un dreptunghi ce va avea ca diagonala dreapta determinata de (x1,y1)- (x2,y2);
- F - daca este folosita optiunea B atunci folosirea optiunii F va determina colorarea interiorului dreptunghiului cu culoarea de desenare
Exemplu:
Adaugati un buton de comanda la o forma si introduceti codul:
Private Sub Command1_Click()
Line (200, 150)-(2000, 3000), , B
End Sub
La apasarea butonului se va desena un dreptunghi.

        Desenarea cercurilor, a arcelor de cerc si a elipselor
    Desenarea cercurilor a arcelor de cerc si a elipselor se realizeaza folosind metoda Circles a formei sau a casetei cu poza. Sintaxa:
Obiect.Circle [Step] (x,y), radius, [color,[start, end, [aspect]]]
- x,y - coordonatele centrului cercului, elipsei sau arcului;
- radius - valoare de tip Single reprezentând raza cercului ,elipsei sau arcului;
- color - întreg de tip Long indicând culoarea RGB cu care va fi desenat cercul;
- start, end - Valori de tip Single. Se utilizeaza la desenarea arcelor de cerc si a elipselor specificând (în radiani) pozitiile de început si de sfârsit ale arcului.
Intervalul devalori , pentru amândoua, este de la -2Pi radiani la 2 Pi radiani. Valoarea implicita pentru start este 0 iar pentru end 2Pi radiani.
- aspect - valoare de tip Single precizân modul în care va apara elipsa. Valoarea implicita este 1.0 pentru care se deseneaza un cerc.

    Desenarea punctelor într-o forma sau într-o caseta cu poza se realizeaza cu ajutorul metodei Pset. Sintaxa:
obiect.PSet [Step] (x,y), [color]
- x,y - valori de tip Single indicând coordonatele punctului ce va fi desenat;
- color - întreg de tip Long desemnând culoarea cu care va fi desenat punctul.

    Voi prezenta în continuare un program care utilizând calule matematice si folosind metoda Pset a unei forme creaza o animatie grafica destul de interesanta.
Deschideti un proiect nou. Stabiliti urmatoarele proprietati pentru forma:
    Name         frmDrawShape
    Height        6285
    Width        6945
Adaugati la forma un control Timer numit tmrTimer si setati proprietatea Interval la valoarea 10.
Adaugati apoi urmatorul cod în fereastra de cod:

Option Explicit

Private Sub DrawShape()
Dim x As Single, y As Single
Dim totalRadians As Single, r As Single
Dim a As Single, theta As Single

Call Randomize
Scale (3, -3)-(-3, 3)
totalRadians = 25 * Atn(1)
ForeColor = QBColor(Rnd() * 15)

a = 3 * Rnd()

For theta = 0 To totalRadians Step 0.01
r = a * Sin(10 * theta)
x = r * Cos(theta)
y = r * Sin(theta)
PSet (x, y)
Next theta

End Sub


Private Sub tmrTimer_Timer()
Call DrawShape
End Sub



Distribuirea aplicatiei

    Deoarece aplicatiile Visual Basic îmbraca diferite forme ce pot fi executate pe diverse platforme, inclusiv Internet, Visual Basic va pune la dispozitie un instrument deosebit de important care Package and Deployment Wizard va va ajuta sa creati pachete cu ajutorul carora sa distribuiti aplicatia.
Package and Deployment Wizard este un program usor de folosit; dupa introducerea câtorva informatii referitoare la aplicatie si modul de distributie programul va genera câteva fisiere pe care le puteti distribui celor care doresc sa-si instalez aplicatia dumneavoastra.


Document Info


Accesari: 2389
Apreciat: hand-up

Comenteaza documentul:

Nu esti inregistrat
Trebuie sa fii utilizator inregistrat pentru a putea comenta


Creaza cont nou

A fost util?

Daca documentul a fost util si crezi ca merita
sa adaugi un link catre el la tine in site


in pagina web a site-ului tau.




eCoduri.com - coduri postale, contabile, CAEN sau bancare

Politica de confidentialitate | Termenii si conditii de utilizare




Copyright © Contact (SCRIGROUP Int. 2024 )