[ IDE @ 27.08.2005. 14:38 ] @

imam jedan problem. Na Form sam stavio Image1 (align=alClient) i na nju sam stavio Image2 u koji cu da "ucitam" Picture, zapravo ikonicu koja ima transparentan dio.
(npr. pogledaj ikonicu od DEV C++ ili visual studio...-znaci NIJE kockasta slika nego samo ima onaj glavni, tj. bitni dio)
e, meni treba da mi se isto vidi samo taj glavni dio (da izgleda kao na desktopu) nakon sto ucitam Picture od Image2 (tj. tu ikonicu...) ,znaci : da mi se ne vidi kockasta pozadina slike...

ja sam to pokusao, ali mi se ipak prikaze slika da je kockasta, i to onaj dio koji je transparentan na desktopu, ovdje je neke zelene providne boje....

kako mogu ovo rijesiti...

posto je srodno pitanje (jer .gif fajlovi podrzavaju transparentnost), moze li Borland Builder raditi sa .gif fajlovima...???
vidio sam u Image1 na "load" da nema .gif fajlova....
pa??


[Ovu poruku je menjao fucking voodoo dana 27.08.2005. u 15:40 GMT+1]
[ X Files @ 27.08.2005. 17:11 ] @
TImage ima Transparent property, ali mislim da transparentnost ima veze i sa
nacinom i formatom u kome je slika uradjena... Probaj...

GIF slike Borland C++ Builder ne podrzava nativno. Imas dve solucije:

1) Konvertuj sliku iz GIF-a u neki drugi format, koji BCB razume.
2) Nabavi neku (po mogucnosti besplatnu) komponentu za prikaz GIF formata.


P.S. Takodje, mislim da moze biti problema sa transparentnoscu JPEG formata,
a ovo bi trebalo da bude resenje za to:

Code:

// Create the JPEG
TJPEGImage *JPEGImg = new TJPEGImage;            

// Load from resource to stream
TResourceStream *Stream = new TResourceStream((int) HInstance, "IMGJPEG", "JPEG");

// Load JPEG from stream
JPEGImg->LoadFromStream(Stream);                

// Create target Bitmap
Graphics::TBitmap *BMPImg = new Graphics::TBitmap;    

// Load Bitmap from JPEG
BMPImg->Assign(JPEGImg); 

// Create target mask
Graphics::TBitmap *Mask = new Graphics::TBitmap;        

// Load target mask
Mask->Handle = LoadBitmap(HInstance, "IMGMASK");    

// Set Copy Mode
BMPImg->Canvas->CopyMode = cmSrcPaint;

// Draw the Mask    
BMPImg->Canvas->Draw(0,0,Mask);        


[Ovu poruku je menjao X Files dana 27.08.2005. u 18:12 GMT+1]
[ IDE @ 28.08.2005. 13:15 ] @
pogledacu...
hvala!!
[ IDE @ 28.08.2005. 14:59 ] @
koliko znam .jpg ne podrzava transparentnost, pa ju je pametno ( i prelako) prebaciti u .bmp

a takvu sliku kad stavim u borland i stavim Image1->Transparent=true; RADI!!!

stvarno mi nije jsano zasto juce nije radilo....

znaci ovo mi radi samo sa .bmp formatom....

valjda je fora (kako sam uspio naci na google-u) da je tada transparentna ona boja koja se nalazi u donjem lijevom cosku...

hvala na odgovorima!!!
[ X Files @ 28.08.2005. 17:35 ] @
Citat:

koliko znam .jpg ne podrzava transparentnost, pa ju je pametno ( i prelako)
prebaciti u .bmp


Da, ali pogledaj velicinu fajla BMP u poredjenju sa JPG...

Kod koji sam ti ostavio, dinamicki otvara mogucnost transparentnosti za JPG.

Takodje, ceste konverzije JPG->BMP->JPG smanjuju kvalitet JPG formata...
[ IDE @ 29.08.2005. 14:20 ] @
ma OK je...
znam da je .bmp puno veci u odnosu na .jpg, ali fajl koji pravim ni ne treba biti mali, a i slike koje stavljam su ionako poprilicno male, pa ne mogu mnogo ni zauzeti...
a ni ne zahtjeva se ni odlican kvalitet slika, tako da i ako dodje do smanjenja kvalitat- nema veze...

svejedno, hvala ti puno za kod i utroseno vrijeme...