Witamy na forum PC Format Zapraszamy do REJESTRACJI


Użytkownicy przeglądający ten wątek: 1 gości

(pascal) graph problem z tłem

#1
(pascal) graph problem z tłem
Witam napisałem programik:
Kod:
program domek;
uses crt, graph;       //biblioteki
var sterownik, tryb:integer;      //zmienne

begin                       //start programu
clrscr;                     //czyszczenie ekranu
        detectgraph(sterownik,tryb);  //definiowanie
        initgraph(sterownik,tryb,''); //inicjowanie trybu i sterownikow karty
        setbkcolor(9);             //ustawianie tła obrazu

        {dom glowny}
        setcolor(8);        //przypisywanie koloru linii
        setfillstyle(1,8);          //przypisanie rodzaju
                                        //wypeˆnienia i jego koloru
        rectangle(300,300,600,600); //bloczek gˆlowny
        floodfill(301,301,8);   //wspolzedne wypelnienia
                                    //i kolor zatrzymania
        setcolor(4);
        setfillstyle(1,4);
        rectangle(250,230,650,300); //dach
        floodfill(251,231,4);

        setcolor(0);
        setfillstyle(1,0);
        rectangle(500,180,450,230); //komin
        floodfill(501,181,0);

        setcolor(3);
        setfillstyle(1,3);
        rectangle(350,350,415,410); //okno lewe
        floodfill(351,351,3);
        rectangle(485,350,550,410); //okno prawe
        floodfill(486,351,3);

        setcolor(6);
        setfillstyle(1,6);
        rectangle(405,470,495,600); //drzwi
        floodfill(406,471,6);


        {kraty okienne}
        setcolor(11);
        line(350,380,415,380); //krata lewe okno pozioma
        line(485,380,550,380); //krata prawe okno pozioma
        line(382,350,382,410); //krata lewe okno pionowa
        line(517,350,517,410); //krata prawe okno pionowa


        {plot}
        setcolor(7);
        setfillstyle(1,15);
        rectangle(600,475,610,495); //lacznik 1 dom - 1 belka
        floodfill(601,476,7);
        rectangle(600,565,610,585); //lacznik 2 dom - 1 belka
        floodfill(601,567,7);
        rectangle(610,465,630,600); //1 belka
        floodfill(611,466,7);
        rectangle(630,475,640,495); //locznik 1 1belka - 2belka
        floodfill(631,476,7);
        rectangle(630,565,640,585); //locznik 2 1belka - 2belka
        floodfill(631,566,7);
        rectangle(640,465,660,600); //2 belka
        floodfill(641,466,7);
        rectangle(660,475,670,495); //locznik 1 2belka - 3belka
        floodfill(661,476,7);
        rectangle(660,565,670,585); //locznik 2 2belka - 3belka
        floodfill(661,566,7);
        rectangle(670,465,690,600); //3 belka
        floodfill(671,466,7);


        {drzewo}
        setcolor(2);
        setfillstyle(1,2);
        ellipse(150,250,0,360,50,150); //korona
        floodfill(151,251,2);

        setcolor(5);
        setfillstyle(1,5);
        rectangle(140,398,160,600); //pien
        floodfill(141,405,5);


        {dym}
        setcolor(1);
        setfillstyle(1,1);
        circle(475,160,10); //pierwszy dymek
        floodfill(475,160,1);
        circle(490,130,10); //drugi dymek
        floodfill(490,130,1);
        circle(515,110,10); //trzeci dymek
        floodfill(515,110,1);


        {napis}
        settextstyle(Triplexfont,horizdir,7);
        outtextxy(370,240,'2TI');


        readln;
        closegraph;
end.
I tak. Problem polega na tym że moje tło "wgrywa się" dopiero po sekcji oznaczonej 'dach', zakrywając tym samym 'dach' i 'bloczek główny'... Jeśli pominę komendę 'setbkcolor(9);' wszystko działa jak należy, oczywiście z czarnym tłem... Gdzie powinienem wpisać tą komendę, aby działało tak jak powinno?

I pytanie dodatkowe z innej beczki, da się jakoś zwiększyć liczbę kolorów w palecie?

z góry dzięki za odpowiedź.
[Obrazek: sygna3n.png]
 System operacyjny: windows_xp_2003 Przeglądarka: chrome
#2
RE: (pascal) graph problem z tłem
Witam,
Kod:
rectangle(450, 180, 500, 230);
floodfill(451, 181, 0);
Problemem jest to, że "wylewasz" kolor poza tym prostokątem, a nie w jego wnętrzu.

Przepisałem u siebie do C++ i jakimś cudem nie rysuje mi tego czarnego prostokąta na tym tle (ale to nieważne).
 System operacyjny: windows_xp_2003 Przeglądarka: firefox
#3
RE: (pascal) graph problem z tłem
Po pierwsze z kąt wziąłeś te dwie linie kodu? W moim programie nie ma tych linii... Po drugie nawet jak by były to wylanie jest we wnętrzu skoro współrzędne punktu wylania są większe od dwóch pierwszych i mniejsze od dwóch drugich... Po trzecie co ma czarny prostokąt do tła które wczytuje się nie w tym miejscu co trzeba? Po czwarte czemu wpisujesz kod pascala w c++ ?
[Obrazek: sygna3n.png]
 System operacyjny: windows_xp_2003 Przeglądarka: chrome
#4
RE: (pascal) graph problem z tłem
Primo: ten kod to poprawiona wersja rysowania komina
Secundo: tak, ale u Ciebie jest
Kod:
rectangle(500,180,450,230); //komin
floodfill(501,181,0);
Tertio: nie rozumiem
Quatro: nie mam zainstalowanego Turbo Pascala, ale mam Borland C++ 3.11, a chciałem sobie zobaczyć ten rysunek.
 System operacyjny: linux_ubuntu Przeglądarka: firefox
#5
RE: (pascal) graph problem z tłem
doobra nie zrozumiałem sorki.

tak więc wpisałem w miejsce komin te dwie linie które podałeś.
efekt?
komin zrobił się koloru 9 ale tło mam nadal czarne czyli 0... a miało być na odwrót.
[Obrazek: sygna3n.png]
 System operacyjny: windows_xp_2003 Przeglądarka: chrome
#6
RE: (pascal) graph problem z tłem
Jedyny pomysł, jaki przychodzi mi do głowy, to zamalowanie tła funkcją floodfill zamiast wywoływać setbkcolor.
 System operacyjny: windows_xp_2003 Przeglądarka: firefox
Programy: Polecane / Nowe / Inne



Użytkownicy forum szukali:
floodfill pascaldodawanie tla glownego pascaljak zmienic kolor linii w paskalukolor tła w pascalukolory tła w pascalusetbkcolor() pascalturbo pascal rysowanie kwadratu wypełnionego kratkawczytywanie tla programu pascal

Podobne wątki ((pascal) graph problem z tłem)
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  dev pascal, problem z funkcją kwadratową Sentinel24 4 7619 21.10.2016, 11:20
Ostatni post: koneton
  [Pascal/Delphi] Sortowanie quicksort oraz scalanie. Chudy2000 3 7696 01.05.2016, 22:34
Ostatni post: Szachista
  NWD i NWW - pascal (pomocy) MatGpu 1 7063 19.02.2016, 17:25
Ostatni post: Szachista

Skocz do:


Wybrane wątki ((pascal) graph problem z tłem)
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  [C#] Program do moderacji czatów gier wiktrom12 0 5953 07.03.2019 15:33
Ostatni post: wiktrom12
  Mój pierwszy projekt - Pomoc rafal12999 1 6456 07.02.2019 22:01
Ostatni post: Szachista
  pomoc projekt scilab piesel18 2 7740 04.02.2019 09:03
Ostatni post: piesel18
  Szkoła Informatyczna Zikinan 1 6661 02.02.2019 17:59
Ostatni post: wojownikhaha
  [Java] Strona z zadaniami do rozwiązania i odpowiedziami rafal12999 2 7377 27.01.2019 13:44
Ostatni post: rafal12999
  kompilacja biblioteki Agui - cmake jurek2 0 6668 10.01.2019 13:12
Ostatni post: jurek2
  Zamiana całego zestawu znaków wg przyporządkowania BarHorab 5 7345 19.12.2018 16:45
Ostatni post: Szachista
  Sumowanie licz excel - problem OxyGenE 2 10191 19.12.2018 16:29
Ostatni post: Szachista
  Jaki kod pod pewne zdarzenia visualbasic 2010 aktywny27 4 7889 07.11.2018 13:41
Ostatni post: Ajgor
Scared Ipad Pro programowanie? NissmoOne 4 8683 06.10.2018 12:22
Ostatni post: NissmoOne
  C# pierwsza pusta komórka Excel DonCorleone 0 7977 21.09.2018 16:58
Ostatni post: DonCorleone
  .bat nie kompresuje plików GIENTY 3 8430 06.09.2018 07:20
Ostatni post: broda99
  problem z programem .bat wiktrom12 4 9573 30.08.2018 08:25
Ostatni post: wiktrom12
  Silnik do gier ZigglerGames 1 8253 23.08.2018 09:03
Ostatni post: Szachista
  Chciałbym zrobić prosty plik exe z jedną funkcją densour 4 8988 09.08.2018 16:24
Ostatni post: Ajgor