소스 검색

fixed magic wand offset

Johann 6 년 전
부모
커밋
ff67a7c0d3
1개의 변경된 파일4개의 추가작업 그리고 1개의 파일을 삭제
  1. 4 1
      lazpaint/tools/utoolselect.pas

+ 4 - 1
lazpaint/tools/utoolselect.pas

@@ -576,6 +576,7 @@ end;
 function TToolMagicWand.DoToolDown(toolDest: TBGRABitmap; pt: TPoint;
   ptF: TPointF; rightBtn: boolean): TRect;
 var penColor: TBGRAPixel;
+  ofs: TPoint;
 begin
   if not Manager.Image.CurrentLayerVisible then
   begin
@@ -583,7 +584,9 @@ begin
     exit;
   end;
   if rightBtn then penColor := BGRABlack else penColor := BGRAWhite;
-  Manager.Image.CurrentLayerReadOnly.ParallelFloodFill(pt.X,pt.Y,toolDest,penColor,fmDrawWithTransparency,Manager.ToolTolerance);
+  ofs := Manager.Image.LayerOffset[Manager.Image.CurrentLayerIndex];
+  Manager.Image.CurrentLayerReadOnly.ParallelFloodFill(pt.X-ofs.X,pt.Y-ofs.Y,
+    toolDest,penColor,fmDrawWithTransparency,Manager.ToolTolerance,ofs.X,ofs.Y);
   result := rect(0,0,toolDest.Width,toolDest.Height);
   Action.NotifyChange(toolDest, result);
   ValidateAction;