delphi FMX图像的灰度化和反色

2017-10-28 11:17:30来源:CSDN作者:qq_38204686人点击

分享
第七城市
//灰度化 hprocedure Thuidu(b : TBitmap);var   Gray, x, y : Integer;   data : TBitmapData ;   p: PByteArray;begin   if  b.Map( TMapAccess.ReadWrite, data)  then   begin        for y := 0 to data.Height - 1 do        begin            p := data.GetScanline(y);            for x := 0 to data.Width - 1 do            begin                Gray := Round(p[x * 4 + 2] * 0.3 +                        p[x * 4 + 1] * 0.59 +                        p[x * 4] * 0.11);                p[x * 4]:= Gray; p[x * 4 + 1] := Gray; p[x * 4 + 2] := Gray;                p[x * 4 + 3] := 255;            end;        end;        b.Unmap(data);   end;end;//图像的反色 fprocedure Tfanse(b : TBitmap);var   Gray, x, y : Integer;   data : TBitmapData ;   p: PByteArray;begin   if  b.Map( TMapAccess.ReadWrite, data)  then   begin        for y := 0 to data.Height - 1 do        begin            p := data.GetScanline(y);            for x := 0 to data.Width - 1 do            begin                p[x * 4]:= not p[x * 4];                p[x * 4 + 1] := not p[x * 4 + 1];                p[x * 4 + 2] := not p[x * 4 + 2];                p[x * 4 + 3] := 255;            end;        end;        b.Unmap(data);   end;end;

第七城市

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台