pluginunit.pas

来自「图象处理的一些相关内容 不是很难的,实现简单,希望对大家有帮助」· PAS 代码 · 共 53 行

PAS
53
字号


unit PlugInUnit;

interface
Uses Windows,SysUtils,Graphics,extdlgs;
const
  MaxPixelCount=32768;
type
  pRGBArray  =  ^TRGBArray;
  TRGBArray  =  ARRAY[0..MaxPixelCount-1] OF TRGBTriple;



procedure flipx(ABmp:Tbitmap);export; stdcall;



implementation

//垂直镜像
procedure flipx(ABmp:Tbitmap);
var
  i:Integer;
  SrcRow: pRGBArray;

  p,p1:Pointer;
  Buffer: PChar;

  ScanlineBytes:integer;

begin
  ScanlineBytes:=ABmp.Width*3 ;

  getmem(buffer,ScanlineBytes);
      for i := 0 to (ABmp.Height - 1)div 2 do
      begin
        p:= ABmp.ScanLine[i];
        p1:= ABmp.ScanLine[ABmp.Height - 1-i];

        StrMove(buffer,p,ScanlineBytes);
        StrMove(p,p1,ScanlineBytes);
        StrMove(p1,buffer,ScanlineBytes);
      end;
   freemem(buffer,ScanlineBytes);

end;



end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?