ho un canvas Timage che di suo ha il colore nero di fondo. come posso farlo diventare trasparente o metterci un altro colore? Grazie.
imagegen.Picture.Bitmap.MaskHandle:=0;
Imagegen.Picture.Bitmap.Transparent := True;
Vado a memoria, dovrebbe bastare questa:
Imagegen.Bitmap.TransparentMode:=tmFixed;
Ciao, Mario
io ho messo così..
Imagegen.Picture.Bitmap.TransparentMode:=tmFixed;
ma non mi funziona....rimane nero. :)
Ok, la mia memoria non funziona !!!
Sono andato a vedere nell'unico progetto che ho dove la uso, ed il codice è questo:
VFLettaIcona:=False;
if (FileExistsUTF8(PercorsoIcona)) then begin
WrkImage.Transparent:=True;
WrkImage.Picture.LoadFromFile(UTF8ToSys(PercorsoIcona));
//Comunico al chiamante che sono riuscito a leggere l'icona
VFLettaIcona:=True;
end;
Anche qui vado a memoria, e spero di non ricordarmi male, ma credo che sia essenziale impostare il "Transparent" PRIMA di caricare l'icona.
Dimenticavo: la dichiarazione di WrkImage è questa:
Ciao, Mario
ho messo la variabile transparency, come globale e ho inserito il seguente codice :
SetTranslucent (imagegen.canvas.Handle, transparency, 0);
ma non mi fa' niente...
:)
con i colori va tutto ok.
con le trasparenze no e non so' perchè funziona.
grazie.
Rileggi i post precedenti, è spiegato come funziona la trasparenza.
Il colore del pixel in basso a sinistra determina la trasparenza. Con questa tecnica.
Nel progetto che ho postato funziona perchè lo sfondo è omogeneo ed è dello stesso colore del pixel in basso a sinistra.
E basta semplicemente attivarla:
Image1.Transparent:= true;
Ciao