Skocz do zawartości
Adamg1996

[Pascal] BMP

Rekomendowane odpowiedzi

Cześć,

 

Mam pytanie w związku z odczytywaniem grafik w formacie *.bmp,

 

Jak odczytać obrazek o dowolnych rozmiarach ( 256 kolory ) ? I jak go umieścić w dowolnym miejscu ekranu ? I czy moglibyście przerobić kodzik ? xD

 

Oczywiście tryb VGA 13h...

 

Kod który prosiłbym przekształcić ( ponieważ jest to jedyny działający na moim TMTPascalu kod odczytujący bmp) i wolałbym jak najmniej assemblera(ponieważ mam z nim same problemy)...

 

procedure BMP(Sciezka : string);

 var Paleta : array [0..255,0..3] of Byte;   { Tu zapiszemy nasze kolorki }

     Plik          : file;                   { Zmienna plikowa            }

     i             : Byte;                   { Zmienna pomocnicza         }

 begin

   Assign(Plik,Sciezka);                     { Kojazymy zmienna z plikiem }

   Reset(Plik,1);                            { Otwieramy plik             }

   Seek(Plik,54);                            { Pomijamy naglowek pliku    }

   BlockRead(Plik,Paleta,SizeOf(Paleta));    { Wczytujemy palete kolorow  }

   for i:=0 to 255 do

     begin

       port[$3c8]:=i;

       port[$3c9]:=Paleta[i,2] div 4;        { Ustawiamy skladowa Red     }

       port[$3c9]:=Paleta[i,1] div 4;        { Ustawiamy skladowa Green   }

       port[$3c9]:=Paleta[i,0] div 4;         { Ustawiamy skladowa Blue    }

     end;

   for i:=199 downto 0 do                    { Wczytujemy linie na ekran  }

     BlockRead(Plik,Mem[$A000:i*320],320);   { blokami po 320 pixeli      }

   Close(Plik);                               { Zamykamy plik              }

 end;

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się tutaj.

Zaloguj się tutaj

  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników, przeglądających tę stronę.

×