Delphi 2种颜色叠加

Function   NewColor(color1,color2:Tcolor):TColor;
type
TRGB=packed   record
    R:Byte   ;
    G:Byte   ;
    B:Byte   ;
    A:Byte   ;
end   ;
var
    p1:^TRGB   ;
    p2:^TRGB   ;
    P3:^TRGB   ;
begin
    Result   :=   color1   ;
    P1   :=@color1   ;
    P2   :=@color2   ;
    P3   :=   @Result   ;
    p3.R   :=   (P1^.R+P2^.R)   div   2   ;
    p3.G   :=   (P1^.G+P2^.G)   div   2   ;
    p3.B   :=   (P1^.B+P2^.B)   div   2   ;
end;

原文地址:https://www.cnblogs.com/zhangzhifeng/p/2113832.html