Novo

Forum kao aplikacija na telefonu

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

  • 6 odgovora
  • 2.549 pregleda

Najnovija ↓

TImage i transparent 30.03.2011. u 12:40 · pre 189 meseci #1
Na fromi imam više timage objekata. Na svaki crtam iz program linije.
1. timage je podloga, a ostali su položeni preko njega

Kako napraviti da se podloga vidi kroz slike koje su preko nje?
Ako postavim Image1.Transparent := true tada se ne vide linije koje sam nacrtao
Ako ostavim Transparent := false tada se ne vidi podloga ispod slike koja je preko.
Re: TImage i transparent 31.03.2011. u 13:08 · pre 189 meseci #4
Ne, TImage nema TransparentColor...

Ne odgovara mi da postavim sliku koja mora biti transparentna na drugu formu jer takvih slika može biti 50-tak, ovisi o parametrima.

- Podloga je jedna slika, to bi se moglo iscrtati i direktno na formu.
- preko te podloge se postavljaju ostale slike, a može doći i do preklapanja ovih slika.

Slika se ne učitava, samo se crta po Canvas-u. Možda neka druga kontrola? Ne odgovara mi crtanje direktno na formi jer moram svaku sliku za sebe pomicati, ako radim direkt na formi, moram refrešati cijelu formu....

Ideje?
Re: TImage i transparent 31.03.2011. u 17:54 · pre 189 meseci #5
Mozda TPaintBox? Tu bi trebalo da postignes providnost bez problema, samo ovde sam moras voditi racuna o osvezavanju (refresh) kontrole.
Re: TImage i transparent 31.03.2011. u 21:53 · pre 189 meseci #6
Evo resenja.

1) Rekao si da iskljucivo radis crtanje, koriscenjem Image.Canvas-a. Odlicno, jer to znaci da je Image.Picture.Graphic tipa TBitmap, odnosno, dozvoljeno je prici mu i ovako: Image.Picture.Bitmap. (Da pojasnim: ako je slicajno Picture.Graphic nekog drugog tipa, jer smo recimo ucitali Icon, pozivanje Picture.Bitmap smesta diskarduje postojecu sliku/Graphic, i kreira novi Picture.Graphic tipa TBitmap. U nasem slucaju, ne desava se nista, odnosno ostaje postojeca slika/bitmapa)
2) Sad je lako, TBitmap ima property Transparent, a takodje ima i TransparentColor; to je to.
3) Probao sam, ovo radi ;) .

Pozz

Rajko
Re: TImage i transparent 01.04.2011. u 12:12 · pre 189 meseci #7
Hvala na pomoći. Sada radi onako kako mi treba.
Malo se trebalo igradi s postavljanjem boja budući da ne učitavam sliku, a sami tImage kreiram u prog.

Image koji mora biti transparenti mora imata FillRect.
Code:

   ...
   i2.Picture.Bitmap.SetSize(100,100);
   i2.Picture.Bitmap.Canvas.Brush.Color := clBtnFace;
   i2.Picture.Bitmap.Canvas.Brush.Style := bsSolid;
   tr.Left := 0;
   tr.Top := 0;
   tr.Bottom := 100;
   tr.Right := 100;
   i2.Picture.Bitmap.Canvas.FillRect(tr);
   i2.Picture.Bitmap.Canvas.Brush.Color := clBlack;
   i2.Picture.Bitmap.Transparent := true;
   i2.Picture.Bitmap.TransparentColor := clBtnFace;
   i2.Picture.Bitmap.Canvas.MoveTo(100,0);
   i2.Picture.Bitmap.Canvas.LineTo(0,100);
   ...


Ovo je samo kod za testiranje (ne odiše ljepotom), sve skupa ide u klasu.
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme