当前位置:首页 > Windows程序 > 正文

改变PNG图片的透明度 delphi

2021-03-27 Windows程序

标签:

type   TARGBRect = packed record   Blue, Green, Red, Alpha: Byte;    end;  var   I, x, y: Integer;    bmp: TGpBitmap;    bg: TGpGraphics;    Data: TBitmapData;    P: PInteger;  begin   DoubleBuffered := True;    bmp := TGpBitmap.Create(‘0.bmp‘);    try   Data := bmp.LockBits(GpRect(0, 0, W, H), [imRead, imWrite], pf32bppARGB);    P := Data.Scan0;    for y := 1 to Data.Height do   for x := 1 to Data.Width do   begin   // 计算不透明度    with TARGBRect(P^) do   Alpha := Max(Red, Max(Green, Blue));    //Alpha := (Red + Green + Blue) div 3;    //Alpha := (306 * Red + 601 * Green + 117 * Blue) div 1024;    Inc(P);    end;    bmp.UnlockBits(Data);    bg := TGpGraphics.Create(form1.Canvas.Handle);    bg.DrawImage(bmp, 0, 0, bmp.wideh, bmp.Height);    end;    finally   bg.Free;    bmp.Free;    end;  end;

改变PNG图片的透明度 delphi

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/68684.html