1 pièce(s) jointe(s)
Rions un peu avec la propriété Transparent du TImage
Bonjour,
j'avais dit qu'il n'y aurait plus de code, et pour le moment je tiens parole, :P
EDIT : quoique...
pour une utilisation (qui a parlé d'expérience :massacre:, comme un peu partout depuis quelque temps ?) encore plus confortable, rajoutez-vous une ligne tout à la fin de la proc de drag'n'drop, comme ça :
Code:
1 2 3 4 5
| procedure TMainForm.FormDropFiles(Sender: TObject;
...
btnOpenClick(nil);
MainForm.BringToFront; // <-- pour que la fenêtre se réaffiche par-dessus l'explorateur après le drop
end; |
/EDIT
Je fais du ménage dans mes vieux fichiers, je retrouve ce joli dégradé et une intuition me pousse à le drag'n'droper (que du bonheur ce truc !) dans mon nouvel outil, et bien m'en a pris :
Pièce jointe 285835
Alors cette fois c'est le rouge (à gauche toute, 255 0 0) qui marque la couleur de la transparence, mais d'où le TImage sort-il cette information ?
Car si sans fermer le prog je lui drag-n-drope le 200x150x24_T, cette fois c'est le gris 84 84 84 qui devient la couleur de la transparence.
C'est enregistré dans les fichiers ? Où ?
Je rappelle que ces deux fichiers sont en pf24bit, et qu'il n'y a donc aucune info de transparence dans le TBitmapInfoHeader...
J'ai fouillé dans d'autres fichiers, et j'ai découvert un Rouge pas franc (255 17 77), un gris 169 169 169, un bleu 127 255 255, bref, ça a l'air aléatoire mais, j'y pense tout d'un coup, on dirait que ça part toujours d'en bas à gauche...
J'ai fait un test avec une image de carrés colorés dont celui en bas à gauche était bleu et transparent en activant la case : je l'ai édité pour remplacer ce bleu par du jaune, il y avait un autre carré jaune ailleurs, et maintenant les deux deviennent transparents en fonction de l'état de la case à cocher.
Voilà.
C'est une info qu'on a tendance à oublier : si on active la transparence du TImage, celui-ci détermine la couleur transparente en se basant sur celle du pixel en bas à gauche, si on ne précise pas TransparentColor := ...;.
Difficile à détecter avec les images de test 400x300 "Lena" car le pixel en question est... blanc ! Et blanc ou rien_sur_fond_blanc c'est un peu pareil, :D
:coucou: