Kurs QBasic - Dodatek B

Zaawansowana grafika, czyli jak używać programu QPaint

Oczywiście z tym słowem "zaawansowana" trochę przesadziłem. Jednak mimo wszystko program mojego autorstwa może znacząco ułatwić tworzenie rysunków w basicu. Zanim pokażę jak z niego korzystać chce wspomnieć o kilku sprawach. Obecnie program QPaint jest w bardzo wczesnej fazie rozwoju, jednak pomimo tego faktu nie planuję dalej nad nim pracować. Nie należy jednak aż tak bardzo się tym zamartwiać, bowiem dobrą wiadomością jest fakt, że program jest opensource. Co za tym idzie każdy może ściągnąć sobie kod źródłowy programu i dowolnie go zmodyfikować. Kto wie, może to TY popracujesz nad moim programem i stworzysz coś całkiem strawnego. Jeżeli Ci się to uda, koniecznie mnie o tym poinformuj ! Jak już wspomniałem, program jest we wczesnej wersji tworzenia i tym samym oferuje jedynie ołówek i... toporne sterowanie. Jedyną zaletą programu jest możliwość wykorzystania stworzonych w programie rysunków do swoich własnych gier i programów. I wbrew pozorom nie jest to takie trudne, jak może się wydawać. Poniższy "program-wzór" pozwoli wyświetlić dowolną grafikę stworzoną w QPaincie. Wystarczy jedynie wkleić poniższy kod programu do swojego projektu i odrazu można się cieszyć gotowym rysunkiem. Oczywiście nic nie stoi na przeszkodzie, aby kod programu zmodyfikować. Wszystko zależy tylko od Ciebie. Zatem zaczynamy...

Na początku powinieneś ściągnąć program QPaint z mojej strony internetowej, rozpakować go i uruchomić. W następnej kolejności wybierz opcję stworzenia nowego rysunku. Na następnym ekranie pojawią się pytania odnośnie rozmiaru rysunku. Po dokonaniu odpowiednich wyborów twoim oczom ukaże się ekran z nowym projektem. W tym miejscu tworzysz rysunek. Gdy go ukończysz, zapisz go na dysk twardy. Na dysku w katalogu QPaint powinien pojawić się plik rysunku. Teraz powinieneś skopiować ten plik do folderu z programem, w którym chcesz użyć rysunku i w odpowiednim miejscu swojego programu wpisać poniższy kod:

10 REM PrgB1 Wyswietlanie rysunku utworzonego w QPaint
15 REM Ponizej przygotowuje program do wyswietlenia grafiki
20 CLS
30 DIM rys%(241, 131)
40 SCREEN 13
43 REM Tutaj zaczyna sie wlasciwy program odpowiedzialny
47 REM za wyswietlenie grafiki
50 OPEN "nazwa_rysunku.rys" FOR INPUT AS #1
60 INPUT #1, wymiarx, wymiary
70 FOR y = 1 TO wymiary
80 FOR x = 1 TO wymiarx
90 INPUT #1, rys%(x, y)
100 PSET (x + x0, y + y0), rys%(x, y)
110 NEXT x: NEXT y
120 CLOSE 1

W linii 30 tworzymy macierz, do której wczytamy wszystkie piksele rysunku. Tworzenie macierzy nie jest konieczne, chyba że chcesz wykonywać operacje na rysunku. W linii 40 uruchamiamy tryb graficzny (QPaint pracuje jedynie w trybie SCREEN 13). W linii 50 otwieramy kanał dla pliku rysunku. W tym miejscu zamiast "nazwa_rysunku" należy wpisać poprawną nazwę rysunku. Jeżeli chcesz umieścić plik rysunku w podfolderze, musisz dopisać odpowiednią ścieżkę dostępu do pliku (np: grafika\nazwa_rysunku). W linii 60 program odczytuje rozmiary rysunku, a w liniach 70 - 110 tworzy pętle, których długość zależy od rozmiaru rysunku. W linii 90 następuje odczytanie wszystkich pikseli rysunku i zapisanie ich do macierzy rys%. W linii 100 program wyświetla piksel odczytany w linii 90. Całość kończy się w linii 120 zamknięciem kanału. Jak już wspomniałem, tworzenie macierzy nie jest obowiązkowe. Skrócona wersja programu może wyglądać następująco:

10 REM PrgB2 Wyswietlanie rysunku utworzonego w QPaint (2)
20 CLS
40 SCREEN 13
43 REM Tutaj zaczyna sie wlasciwy program odpowiedzialny
47 REM za wyswietlenie grafiki
50 OPEN "nazwa_rysunku.rys" FOR INPUT AS #1
60 INPUT #1, wymiarx, wymiary
70 FOR y = 1 TO wymiary
80 FOR x = 1 TO wymiarx
90 INPUT #1, piksel
100 PSET (x + x0, y + y0), piksel
110 NEXT x: NEXT y
120 CLOSE 1

W tym miejscu całą zawartość macierzy zastąpiliśmy jedną zmienną - "piksel". Taki zabieg znacząco pozwolił oszczędzić pamięć RAM komputera. Osoby, które mają pewne pojęcie o programowaniu z pewnością zauważyły, że wyświetlanie rysunku za pomocą polecenia PSET do najszybszych nie należy. Niestety sam osobiście nie znam innej metody na wyświetlanie rysunków i tym samym mogę cię nauczyć jedynie takiej metody.

 

Język

Polska wersja językowa    English language version

Poleć stronę

Aby polecić aktualnie oglądaną stronę kliknij:

Licznik wizyt

Liczniki

Kontakt

Wiadomości

03.12.2013

Dodano opis gry Stellar System.

16.06.2013

Dodano opis programu "System Sprzedaży", oraz poprawiono treści na stronie.

10.05.2012

Strona została całkowicie przebudowana. Zmieniono layout, poprawiono teksty, oraz dodano angielską wersję strony.