我想请教一下这个Alpha效果是不是那种半透明的效果啊
它在Delphi中应当如何实现啊?再者,我想让一个人(bmp的,设为m)在一个草地(bmp的,设为g)上走动,这个人周围的颜色如何变成草地的颜色(像游戏中一样)。如果我把m上除人以外的颜色均设为黑色,能否用alpha来实现想游戏中的人物那种效果?谢谢

解决方案 »

  1.   

    AlphaBlend
    AlphaBlendValue
    可以用PHOTOSHOP将人画的其它部分设为透明色
      

  2.   

    AlphaBlend
    AlphaBlendValue
    都是什么意思啊?还有
    这个“PHOTOSHOP将人画的其它部分设为透明色”
    之后在Delphi里还能用吗?bmp不是不支持透明吗?
      

  3.   

    1,这些都是FORM的属性AlphaBlend 设为TURE则Alpha 可用,用AlphaBlendValue来设置透明的程度,这个你试一下就明白了。
    2,我明白你的意思了,就是透明色嘛,你可以做成别的格式的文件如GIF
      

  4.   

    把我软件的代码给你拷一段。Procedure TfrmMain.LoadDefaultSkin;
    var
      bmpTmp:TBitmap;
      udtBlender: TBlendFunction;
    begin
      bmpTmp:=TBitmap.Create;
      try
          bmpTmp.Width:=Gw;
          bmpTmp.Height:=Gh;
          bmpTmp.Canvas.Brush.Color:=i_MskCover;
          bmpTmp.Canvas.FillRect(bmpTmp.Canvas.ClipRect);
          with udtBlender do
          begin
             BlendOp := AC_SRC_OVER;
             BlendFlags := 0;
             SourceConstantAlpha := i_Alpha;
             AlphaFormat := 0;
          end;
          Windows.AlphaBlend(imgCover[0].Canvas.Handle,0, 0,
                              GW,GH,bmpTmp.Canvas.Handle,0, 0,
                              GW,GH,udtBlender);
      finally
          bmpTmp.Free;
      end;
    end;