小弟没有做过图象处理,请教各位一个问题:
有A,B两张图片,希望将图片B覆盖到图片A上,合并成一张图片,同时要求图片B的指定颜色部分(如 白色部分)透明。请给个思路,最后有代码

解决方案 »

  1.   

    是不是有两个DC进行alpha混合?
      

  2.   

    如果图片B是Bitmap就好;
    例子:
    procedure TForm1.Button1Click(Sender: TObject);var
      Bitmap : TBitMap;
    begin
      Bitmap := TBitmap.Create;
      try
        with Bitmap do begin
          LoadFromFile('xxx.bmp');
          Transparent := True;
          TransParentColor := 指定颜色;
          Form1.Canvas.Draw(0,0,BitMap);
          TransparentMode := tmAuto;
          Form1.Canvas.Draw(50,50,BitMap);
        end;
      finally
        Bitmap.Free;  end;
    end;
      

  3.   

    上例中Form1.Canvas换成图片A.Canvas就完成混合叠加了。
      

  4.   

    我用AlphaBlendValue来做 可以么?