图像Alpha透明算法

时间:2010-03-07 14:00:36  来源:第二电脑网  作者:第二电脑网

  第二电脑网导读:lpha:Integer);Var X,Y:Integer;PB,PF:PbyteArray;R1,R2,G1,G2,B1,B2:Integer;Begin  BkGround.PixelFormat:=pf24bit;  FrGround.PixelFormat:=pf24bit;  For Y:=Top to BkGround.Height-1 do  Begin    IF Y-Top>FrGround.Height-1 then Break; &nbs...
  正文:图像Alpha透明算法:


Procedure BlendBmp(BkGround,FrGround:TBitmap;Left,Top,Alpha:Integer);
Var X,Y:Integer;
PB,PF:PbyteArray;
R1,R2,G1,G2,B1,B2:Integer;
Begin
  BkGround.PixelFormat:=pf24bit;
  FrGround.PixelFormat:=pf24bit;
  For Y:=Top to BkGround.Height-1 do
  Begin
    IF Y-Top>FrGround.Height-1 then Break;
    PB:=BkGround.ScanLine[Y];
    PF:=FrGround.ScanLine[Y-Top];
    For X:=Left to BkGround.Width-1 do
    Begin
      IF X-Left>FrGround.Width-1 then Continue;
      B1:=PB[X*3]; G1:=PB[X*3+1]; R1:=PB[X*3+2];
      B2:=PF[(X-left)*3]; G2:=PF[(X-left)*3+1]; R2:=PF[(X-left)*3+2];
      PB[X*3]:=(B2*Alpha+B1*(255-Alpha)) div 255;
      PB[X*3+1]:=(G2*Alpha+G1*(255-Alpha)) div 255;
      PB[X*3+2]:=(R2*Alpha+R1*(255-Alpha)) div 255;
      End;
      End;
      End;

给两个Bitmap,指定Top,Left,指定透明度即可 "图像Alpha透明算法"由第二电脑网原创提供,转载请注明:http://www.002pc.com/master/College/Language/Delphi/13102.html


关键字:

关于《图像Alpha透明算法》文章的评论

站内搜索: 高级搜索

热门搜索: Windows style 系统 tr IP QQ CPU 安装 function 注册 if td