Rozmiar czcionki w trybie graficznym DOS

0

Witam.
Muszę napisać program wyświetlający napis na cały ekran w trybie graficznym korzystając jedynie z modułu DOS. Czy istnieje możliwość zmiany rozmiaru czcionki korzystając z jakiegoś przerwania? Pracuję w trybie 320x200 256 kolorów (13h w funkcji 00h przerwania 10h).

0

Wyświetlaj tekst graficznie. Przechowuj bitmapę poszczególnych literek (możesz wygenerować je sobie w Paincie), składaj w napis i wyśwetlaj...
... albo rysuj tekst wektorowo: lina, kółko, prostokąt

0

Dzięki. Pomysł z bitmapami jest bardzo fajny. Znalazłem taki poradnik do wyświetlania obrazów:
Wyświetlanie BMP
Jest tylko jeden problem, ta procedura radzi sobie z wyświetlaniem obrazów w rozdzielczości 320x200, po zmianie rozdzielczości obrazki zostają bardzo zniekształcone. Ich rozmiar po wyświetleniu odpowiada właściwej rozdzielczości bitmapy, jednak całość jest pochylona w prawo. Jak to poprawić?

0
for y:=Naglowek.biHeight-1 downto 0 do        {a teraz wczytujemy kolory}
for x:=0 to Naglowek.biWidth do
begin
   read (bitmapa,kolor);
   mem[$A000:y shl 8+ y shl 6 + x+ay shl 8 +ay shl 6+ax]:=kolor;
end;

Zamiast haxxorskiego y shl 8+ y shl 6 + x+ay shl 8 +ay shl 6+ax trzeba uczciwie wyliczać ofset piksela jako x+y*szerokość.

0

Niestety, obraz cały czas jest zniekształcony. Tak jakby odczyt koloru piksela z pliku był w dziwnej kolejności. Dla rozjaśnienia sytuacji załączam screen pokazujący efekt wyświetlenia obrazu mniejszego niż natywna rozdzielczość trybu graficznego.
[url=http://postimage.org/image/o9q3ak4ff/][img]http://s9.postimage.org/o9q3ak4ff/dos.jpg[/img][/url]

1

Udało mi się znaleźć rozwiązanie tego problemu. Otóż każda linia pozioma obrazu zapisanego w bmp posiada dopełnienie bajtów do liczby podzielnej przez 4. Wystarczy obraz o odpowiedniej szerokości i wszystko działa. Wielkie dzięki za podsunięcie pomysłu i późniejszą pomoc.

1 użytkowników online, w tym zalogowanych: 0, gości: 1