37 lines
511 B
ObjectPascal
37 lines
511 B
ObjectPascal
library invert;
|
|
|
|
{$mode objfpc}{$H+}
|
|
|
|
uses
|
|
Classes, strings, BGRABitmap, BGRABitmapTypes;
|
|
|
|
procedure FilterName(s: pchar); cdecl;
|
|
begin
|
|
StrCopy(s, 'Invert');
|
|
end;
|
|
|
|
procedure ApplyFilter(BGRA: TBGRABitmap); cdecl;
|
|
var
|
|
i: integer;
|
|
p: PBGRAPixel;
|
|
begin
|
|
p := BGRA.Data;
|
|
|
|
for i := BGRA.NBPixels - 1 downto 0 do
|
|
begin
|
|
p^.red := not p^.red;
|
|
p^.green := not p^.green;
|
|
p^.blue := not p^.blue;
|
|
p^.alpha := p^.alpha;
|
|
Inc(p);
|
|
end;
|
|
end;
|
|
|
|
exports
|
|
FilterName,
|
|
ApplyFilter;
|
|
|
|
begin
|
|
end.
|
|
|