TBXL: Wczytanie obrazka

From Atariki

(Różnice między wersjami)
Jump to: navigation, search
Wersja z dnia 15:56, 26 maj 2010
Sikor (Dyskusja | wkład)

← Previous diff
Wersja z dnia 20:12, 26 maj 2010
KMK (Dyskusja | wkład)
(poprawki (BGET nie wymiaruje stringu + drób))
Next diff →
Linia 7: Linia 7:
110 OPEN #1,4,0,"D:NAZWA.EXT":REM pod nazwa.ext podstawiamy odpowiednią nazwę obrazka. Open otwiera kanał IOCB 110 OPEN #1,4,0,"D:NAZWA.EXT":REM pod nazwa.ext podstawiamy odpowiednią nazwę obrazka. Open otwiera kanał IOCB
120 BGET #1,$adres_obrazka,ilość_bajtow:REM adres obrazka - gdzie wczytujemy dane, na przykład $6000, 120 BGET #1,$adres_obrazka,ilość_bajtow:REM adres obrazka - gdzie wczytujemy dane, na przykład $6000,
-ilość bajtów - wielkość obrazka w bajtach, odpowiednio 6400 lub 7680, ewntualnie plus 4 bajty dla obrazka MIC+ilość bajtów - wielkość obrazka w bajtach, odpowiednio 6400 lub 7680, ewentualnie plus 4 bajty dla obrazka MIC
130 CLOSE #1:REM pamiętamy o zamknięciu kanału IOCB 130 CLOSE #1:REM pamiętamy o zamknięciu kanału IOCB
140 GRAPHICS n:REM używamy odpowiedniego trybu graficznego, na przykład 24 (8+16) 140 GRAPHICS n:REM używamy odpowiedniego trybu graficznego, na przykład 24 (8+16)
-150 MOVE $adres_obrazka,dpeek(88),wielkość_obrazka:REM tu wyświetlamy+150 MOVE $adres_obrazka,DPEEK(88),wielkość_obrazka:REM tu wyświetlamy
160 ENDPROC:REM procedura powinna mieć swoje zakończenie 160 ENDPROC:REM procedura powinna mieć swoje zakończenie
</pre> </pre>
Linia 16: Linia 16:
* Wczytanie i wyświetlenie danych jako zmienna tekstowa, sposób stosowany przez [[Larek|Larka]] * Wczytanie i wyświetlenie danych jako zmienna tekstowa, sposób stosowany przez [[Larek|Larka]]
<pre> <pre>
-100 DIM OBRAZ$(6400) : REM -> dla 160x160 lub 7680 dla 160x192+100 DIM OBRAZ$(6400):OBRAZ$="#": REM -> dla 160x160 lub 7680 dla 160x192
110 OPEN #1,4,0,"D:nazwa_obrazka.MIC" 110 OPEN #1,4,0,"D:nazwa_obrazka.MIC"
120 BGET #1,ADR(OBRAZ$),6400 :REM -> dla 160x160 lub 7680 dla 160x192 120 BGET #1,ADR(OBRAZ$),6400 :REM -> dla 160x160 lub 7680 dla 160x192
Linia 23: Linia 23:
</pre> </pre>
-* Dla obrazów typu MIC mamy dodatkowe 4 bajty (przed danymi obrazu lub za nimi), należy wtedy pamiętać o odpowiednim ustawieniu adresu obrazu. Te cztery bajty zawierają rejestry kolorów, które także możemy wykorzystać w swoich programach.+* Dla obrazów typu MIC mamy dodatkowe 4 bajty (przed danymi obrazu lub za nimi), należy wtedy pamiętać o odpowiednim ustawieniu adresu obrazu. Te cztery bajty zawierają wartości czterech rejestrów kolorów (od COLPFS1 do COLBAKS).
== Uwagi dodatkowe == == Uwagi dodatkowe ==
-* Korzystając z metody stosowanej przez Sikora, wpisując jako adres_obrazka dpeek(88) możemy obrazek załadować bezpośrednio na ekran.+* Korzystając z metody stosowanej przez Sikora, wpisując jako adres_obrazka DPEEK(88) możemy obrazek załadować bezpośrednio na ekran.
== Zobacz też == == Zobacz też ==
-* [[TBXL: Wczytanie danych do pamięci]]+* [[TBXL:Wczytanie danych do pamięci]]
[[Kategoria:Niezbędnik kodera]] [[Kategoria:Niezbędnik kodera]]

Wersja z dnia 20:12, 26 maj 2010

Poniżej znajdują się przykłady dla wczytania i wyświetlenia standardowego obrazu dla Atari dla trybów graficznych. Dane obrazu mają zazwyczaj 6400 (z oknem tekstowym) lub 7680 (bez okna) bajtów.

  • Wczytanie i wyświetlenie danych bezpośrednio do pamięci, sposób stosowany zazwyczaj przez Sikora
100 proc OBRAZEK: REM w TBXL stosujemy procedury
110 OPEN #1,4,0,"D:NAZWA.EXT":REM pod nazwa.ext podstawiamy odpowiednią nazwę obrazka. Open otwiera kanał IOCB
120 BGET #1,$adres_obrazka,ilość_bajtow:REM adres obrazka - gdzie wczytujemy dane, na przykład $6000, 
ilość bajtów - wielkość obrazka w bajtach, odpowiednio 6400 lub 7680, ewentualnie plus 4 bajty dla obrazka MIC
130 CLOSE #1:REM pamiętamy o zamknięciu kanału IOCB
140 GRAPHICS n:REM używamy odpowiedniego trybu graficznego, na przykład 24 (8+16)
150 MOVE $adres_obrazka,DPEEK(88),wielkość_obrazka:REM tu wyświetlamy
160 ENDPROC:REM procedura powinna mieć swoje zakończenie
  • Wczytanie i wyświetlenie danych jako zmienna tekstowa, sposób stosowany przez Larka
100 DIM OBRAZ$(6400):OBRAZ$="#": REM -> dla 160x160 lub 7680 dla 160x192
110 OPEN #1,4,0,"D:nazwa_obrazka.MIC"
120 BGET #1,ADR(OBRAZ$),6400 :REM -> dla 160x160 lub 7680 dla 160x192
130 CLOSE #1
140 MOVE ADR(OBRAZ$),DPEEK(DPEEK(560)+4),6400 :REM -> dla 160x160 lub 7680 dla 160x192, wyświetlenie
  • Dla obrazów typu MIC mamy dodatkowe 4 bajty (przed danymi obrazu lub za nimi), należy wtedy pamiętać o odpowiednim ustawieniu adresu obrazu. Te cztery bajty zawierają wartości czterech rejestrów kolorów (od COLPFS1 do COLBAKS).

Uwagi dodatkowe

  • Korzystając z metody stosowanej przez Sikora, wpisując jako adres_obrazka DPEEK(88) możemy obrazek załadować bezpośrednio na ekran.

Zobacz też

Personal tools