Subprograme Orientate Spre Salvarea Imaginilor

Subprograme Orientate Spre Salvarea Imaginilor

Subprograme Orientate Spre Salvarea Imaginilor

Subprograme Orientate Spre Salvarea Imaginilor

8.1 Proceduri şi funcţii

ImageSize

Functia ImageSize returnează numărul de octeţi necesari salvării unei imagini. Funcţia se defineşte astfel:

Function ImageSize(x1,y1,x2,y1:integer):word;

X1,Y1 reprezintă coordonatele colţului stânga sus ale dreptunghiului;

X2,Y2 reprezintă coordonatele colţului dreapta jos ale dreptunghiului.

GetImage

Procedura GetImage salvează o imagine într-o zonă de memorie definită de utilizator. Procedura se defineşte astfel:

Procedure GetImage (x1,y1,x2,y2:integer;varBitMap);

X1,y1 reprezintă coordonatelor colţului stânga sus ale dreptului, iar x2,y2 reprezintă coordonatele colţului dreapta jos ale dreptunghilui ce se salvează. Se pot salva zone mai mici de 64K octeţi. Variabila BitMap referăzona în care se face salvarea imaginii. Primele două cuvinte ale zonei conţin lăţimea şi lungimea zonei dreptunghiuluilare, de aceea dimensiunea obţinută cu funcţia GetImage.

PutImage

Procedura PutImage suprapune regiunea salvată peste ecran. Procedura se defineşte astfel:

Procedure PutImage(x,y:integer;var:BitMap;BitBlt:word);

X,y reprezintă colţul stânga sus al regiunii dreptunghiular de pe ecran unde va fi restabilită imaginea.

Variabila Bitmap conţine lăţimea, lungimea regiunii şi harta în biţi a imaginii.

Variabila Bitblt descrie operaţia binară între punctele regiunii ce se suprapune pe ecran şi punctele ecranului.

Această variabilă se defineşte astfel:

Const

NormalPut=0; MOV –mutare simplă

CopyPut= 1; MOV – mutare simplă

XORPut=2; XOR –sau exclusiv

OrPut=3; OR – disjuncţie

AndPut=4; AND – conjuncţie

NotPut=5; Not- negaţie

8.2 Aplicaţie

Programul image realizează culorarea ecranului cu albastru, decupează o porţiune din aceasta şi o salvează în memorie după ce sa rezervat spaţiu de memorie necesar salvării, după care este restabilită acea porţiune (imagine).

Uses Graph, Crt;

Var gd, gm:integer;

P:pointer;

Size:word;

Begin

Gd:=detect;

InitGraph (Gd, Gm, ’c:bpbgi’);

If graphresult <> grOK then

Halt(1);

SetFillStyle (1.1);

Bar(0.0.GetMaxX.GetMaxY);

Size :=ImageSize (1.20.30.40);

GetMen(p,Size);

GetImage(10.20.30.40.p^);

Readln;

ClearDevice;

PutImage(100.100.p^,xorput);

Readln;

CloseGraph;

end.

Articole Asemănătoare:

  1. Subprograme Orientate Spre Puncte
  2. Initializarea Modulului Grafic
  3. Definiri de culori şi palete
  4. Word Viewer – Cititor de fisiere Microsoft Word si convertor in Pdf

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>