Cela fait maintenant une semaine que je suis dessus et je pète un cable je me dis que comme le malade va voir un médecin je trouverais peut-être enfin la solution si je poste le problème

J'ai un Bitmap avec une couche transparente , quand je veux copier celui-ci dans un autre Bitmap 'virtuel' je voudrait que la transparence soit transformée en une couleur disons par exemple le blanc .
Pour les plus calés , l'objectif est de supprimer le canal Alpha

mes tentatives :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 
  ABitMap:=TBitmap.Create;
  try
   ABitmap.Height:=FImage.Bitmap.Height;
   ABitmap.Width:=FImage.Bitmap.Width;
// ABitmap.PixelsFormat:=pf24bit; 
// ici j'ai tenté de d'abord remplir l'image à blanc ------ résultat néant
//   ABitmap.Canvas.Brush.Color:=clwhite;
//   ABitmap.Canvas.FillRect(0,0,ABitmap.Width,ABitmap.Height);
// ---------------------------------------------------------------------------------
// déclaration de blanc comme transparent  avant  
//   ABitmap.Transparent:=True;
//   ABitmap.TransparentColor:=clWhite;
//----------------------------------------------------------------------------------
// Copie de l'image initiale par Streaming
   memstream := TMemoryStream.create;
   try
    FImage.Bitmap.Transparent:=False;
    FImage.Bitmap.SaveToStream(memstream);
    memstream.position := 0;
    ABitmap.LoadFromStream(memstream);
   finally
     memstream.free;
   end;
//------------------------------------------------------------------------------------
// ou par Assign
// ABitmap.Assign(Fimage.Bitmap);
//------------------------------------------------------------------------------------ 
// ABitmap.PixelsFormat:=pf24bit; 
 
  ABitmap.SaveToFile('Copie.Bmp'); // vérification résultat
Avant de tenter une manipulation plus "lourde" (changement pixel par pixel) quelqu'un aurait-il une idée ?