Mam pewien problem... Jaki modul graficzny w T pascalu umozliwia wstawianie bitmap o rozdzielczosci i kolorystyce na przyzwoitym poziomie...
i w jaki sposob...
slyszalem ze tryb 13h jest calkiem spoko ale do niego wymagana jest znajomsc assemblera....
Kolejne pytanko jak juz bede mial ten modul to jaki format plikow jest akceptowany....
Czy jest mozliwosc jednoczesnego uzywania trybu textowego i graficznego np przez podzial ekranu procedura WINDOW
prosze o mozliwie najbardziej szczegolowe odpowiedzi i z gory thx...
wlaczyc tryb 13h jest prosto:
asm
mov ax,13h
int 10h
end;
I wsio, wylaczasz, czyli wracasz do textowego:
asm
mov ax,3h
int 10h
end;
A zeby cos naskrobac na ekranie, na poczatku programu napisz:
Pic:array[1..64000] of byte absolute $A000:0;
Zmienna Pic jest (jak widzisz ;)) tablica, odpowiednich punktow. Wartosc elementu z tablicy dopowiada kolorowi pixela (jakie to sa kolorki to sam zobacz ;))
Pozycje X i Y na ekranie mozesz obliczyc:
Pic[x+y*320]:=kolor
To tyle, a jesli chodzi o BMP to mi nie wiadomo o zadnej takiej bibliotece. W necie mozna znaleŹĆ dyzo przykladow programow ladujacych rozne bmp (nie mam niestety zadnego takiego adresu, ale latwo znajdziesz)
Pobaw sie sam i napisz taka procedurke, najgorsze to tylko rozpracowac format *.BMP, ale pokombinuj :-D
var stary: Word;
procedure pixel(x,y:Integer;r, g, b:Byte);
var pom,p:LongInt;offset,bank:Word;
begin pom:=(y shl 10)+x;bank:=y shr 4;
if bank <> stary then begin stary := bank;
asm mov dx,bank
mov ax,4f05h
mov bx,0
int 10h
end;end;offset := Word(pom shl 2);Mem[$A000:offset]:=r;
Mem[$A000:offset+1]:=g;Mem[$A000:offset+2]:=b;end;
begin
asm
mov ax,4f02h
mov bx,118h
int 10h
end;
end.
1024x768 16 bit :d // 16581375 kolorków :P
hej ;)
Szukaj w necie na stronach dotyczącach Pascala , modułu biblioteki Gsvga
Masz wszystkie tryby jakie daje Twoja karta graficzna.
(oczywiście jak jest w tym standarcie).
Bilbia ta wykorzystuje pamięć XMS i obróbka obrazków jest bardzo szybka.
Dostępne formaty to BMP, GIF, PCX oraz animacje MIG
Dodatkowo myszka, fonty i inne bajery ;)
Oryginalna strona autora o ile sie orientuje nie istnieje - dlatego nie podaje linka, ale szukaj na witrynkach.