Skip to content

Commit adde3ff

Browse files
committed
only skip blended points before blending
1 parent e21c612 commit adde3ff

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

Source/simba.image.pas

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1458,12 +1458,15 @@ function TSimbaImage.Blend(Points: TPointArray; Radius: Integer; IgnorePoints: T
14581458
X, Y, Count: Integer;
14591459
Area: TBox;
14601460
SumR, SumG, SumB: UInt64;
1461-
Skip: TBooleanArray;
1461+
Skip, Ignored: TBooleanArray;
14621462
begin
14631463
Result := Copy();
1464+
14641465
SetLength(Skip, FWidth*FHeight);
1466+
SetLength(Ignored, FWidth*FHeight);
1467+
14651468
for P in IgnorePoints do
1466-
Skip[P.Y * FWidth + P.X] := True;
1469+
Ignored[P.Y * FWidth + P.X] := True;
14671470
for P in Points do
14681471
Skip[P.Y * FWidth + P.X] := True;
14691472

@@ -1480,6 +1483,8 @@ function TSimbaImage.Blend(Points: TPointArray; Radius: Integer; IgnorePoints: T
14801483
for X := Area.X1 to Area.X2 do
14811484
for Y := Area.Y1 to Area.Y2 do
14821485
begin
1486+
if Ignored[Y * FWidth + X] then
1487+
Continue;
14831488
if Skip[Y * FWidth + X] then
14841489
Continue;
14851490

@@ -1503,6 +1508,8 @@ function TSimbaImage.Blend(Points: TPointArray; Radius: Integer; IgnorePoints: T
15031508
end;
15041509
end else
15051510
Result.Data[P.Y * FWidth + P.X] := FData[P.Y * FWidth + P.X];
1511+
1512+
Skip[P.Y * FWidth + P.X] := False;
15061513
end;
15071514
end;
15081515

0 commit comments

Comments
 (0)