Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 7 odgovora
  • 3.429 pregleda

Najnovija ↓

DrawGrid, ucitavanje slike 06.07.2005. u 15:27 · pre 259 meseci #1
Moze li neko da mi objasni kako da ucitam sliku u posebnu celiju DrawGrid-a?
Ili je mozda za to pogodniji StringGrid?

Ni u jednom ni u drugom ne znam to da izvedem :((

HELP !
Re: DrawGrid, ucitavanje slike 06.07.2005. u 16:12 · pre 259 meseci #2
Na onDrawCell upises:

Code:

procedure TMain.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
begin
     if (Acol=0) and (arow=0) then
         with (Sender as TDrawgrid) do
              with canvas do
                  Draw(Rect.Left,Rect.top,image1.Picture.Graphic);

end;


Trebalo bi da je dobro (nisam proveravao).
Re: DrawGrid, ucitavanje slike 06.07.2005. u 17:15 · pre 259 meseci #3
Radi, ali...

Meni treba da se slika pojavi npr. na pritisak dugmeta, a to sa ovim kodom ne mogu da izvedem.
Re: DrawGrid, ucitavanje slike 06.07.2005. u 17:22 · pre 259 meseci #4
Pa ti na pritisak dugmeta postavi neki flag (recimo ShowPictures := True) i ako je taj flag postavljen onda iscrtavaj slike.
Potpis
Play Store
Re: DrawGrid, ucitavanje slike 06.07.2005. u 17:32 · pre 259 meseci #5
Hmm... Verovatno treba da bolje pojasnim.

Meni treba ovo zato sto ponovo pravim igru "snake", ali na drugi nacim.
Ranije sam je pravio iscrtavanjem niza slika, a sad hocu da uradim istu stvar uz pomoc StringGrida/DrawGrida zbog manjeg koda i lakseg pravljenja nivoa.

Dakle ista slika ce trebati da se postavlja na vise mesta, a da se brise sa drugih...
E, sad, kad bi sve slike ucitao na pocetku, to i ne bi bilo bas prakticno.
Ili se varam ?

Na pamet mi je prvo pala ideja da menjam vrednosti za ACol i ARow, ali mi nije uspelo.

Any idea ?
Re: DrawGrid, ucitavanje slike 06.07.2005. u 18:00 · pre 259 meseci #6
Pazi, kada se iscrtava grid, ta funkcija se poziva za svaku celiju zasebno znaci onoliko puta koliko imas kolona * redova. Ako bi uklonio proveru za row i acol i samo iscrtao sliku, ta slika bi bila u svim celijama.

U cells[arow, acol] drzi indekse slika koje treba da se iscrtaju i onda ih iscrtavas sa:

Draw(rect.left, rect.top, image[strtoint(cells[arow,acol])].Picture.graphic);

gde je image niz slika, ili mozes da koristis tpicturecollection.

Nadam se da si shvatio. :)



Re: DrawGrid, ucitavanje slike 06.07.2005. u 18:03 · pre 259 meseci #7
Zasto komplikujes sa gridovima!?
Dovoljna ti je jedna matrica 50x50 (ili koliko vec hoces) u kojoj ces cuvati sta se nalazi u kom polju i posla samo na osnovu tih vrednosti iscrtas sliku na TBitmap.Canvas. To ce ti biti backbuffer i kad god je potrebno samo ga "pljunes" na formu ili neku komponentu (TImage, TPanel, TButton...) gde zelis da se vidi ta slika. Pogledaj moj primer https://www.elitesecurity.org/p547708 ili https://www.elitesecurity.org/p540770
Potpis
Play Store
Re: DrawGrid, ucitavanje slike 11.07.2005. u 11:38 · pre 259 meseci #8
Ok, hvala svima, mislim da cu uraditi sta sam zamislio.

Jos nisam radio sa matricama, ali cu uspeti da izvucem nesto iz Srkijevih programa :)
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme