Sources
Delphi Russian Knowledge Base
DRKB - это самая большая и удобная в использовании база знаний по Дельфи в рунете, составленная Виталием Невзоровым

Подсветить изображение

01.01.2007
{ 
Question:
 
Does anyone know of a way that I can achieve the same effect on a bitmap
  that windows achieves
when you single click on an icon on the desktop?  In
  other words
, I want to "sorta highlight" a bitmap and let the user know that
  it
's selected.
 
Answer:
 
  To me it appears as if the icons on my desktop are highlighted by overlaying
  them with a certain color, so I guess the following routine is of use.
}
 
 
 procedure Highlight(aSource, ATarget: TBitmap; AColor: TColor);
 //alters ASource to ATarget by making it appear as if
//looked through
//colored glass as given by AColor
//ASource, ATarget must have been created.
//Isn'
t as slow as it looks.
//Physics courtesy of a post by K.H. Brenner
var i, j: Integer;
   s
, t: pRGBTriple;
   r
, g, b: byte;
   cl
: TColor;
 
begin
   cl
:= ColorToRGB(AColor);
   r
:= GetRValue(cl);
   g
:= GetGValue(cl);
   b
:= GetBValue(cl);
   aSource
.PixelFormat := pf24bit;
   
ATarget.PixelFormat := pf24bit;
   
ATarget.Width := aSource.Width;
   
ATarget.Height := aSource.Height;
   
for i := 0 to aSource.Height - 1 do
   
begin
     s
:= ASource.Scanline[i];
     t
:= ATarget.Scanline[i];
     
for j := 0 to aSource.Width - 1 do
     
begin
       t
^.rgbtBlue := (b * s^.rgbtBlue) div 255;
       t
^.rgbtGreen := (g * s^.rgbtGreen) div 255;
       t
^.rgbtRed := (r * s^.rgbtRed) div 255;
       inc
(s);
       inc
(t);
     
end;
   
end;
 
end;

Взято с сайта: https://www.swissdelphicenter.ch