在delphi中如何实现alpha值得转换.

解决方案 »

  1.   

    在delphi中如何实现图片alpha值得转换.
      

  2.   

    就象phtoshop,fireworks里面得alpha特效一样得效果怎么来实现
    我写了有代码只是实现了图片得一部分alpha效果。
      

  3.   

    使用DIB相关函数。不要使用Bitmap.Bitmap 是DDB的概念,是设备有关的。DIB是设备无关的。
    或者ALPHA混合后存成BMP图象再打印也可以 
      

  4.   

    转换成32位的bmp图像即可。
    32位的每个像素点是RGBA,设置A的值即可。
      procedure AlphaConvert;
      var
        a, r, g, b: Byte;
        p: PByteArray;
        I, J: Integer;
      begin
        for I := 0 to OverLayBmp.Height - 1 do
        begin
          p := OverLayBmp.ScanLine[I];
          for J := 0 to OverLayBmp.Width - 1 do
          begin
            r := p[j * 4 + 0];
            g := p[j * 4 + 1];
            b := p[j * 4 + 2];
            a := p[j * 4 + 3];        p[j * 4 + 0] := 255; // a;
            p[j * 4 + 1] := r;
            p[j * 4 + 2] := g;
            p[j * 4 + 3] := b;
          end;
        end;
      end;