mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-06-10 10:58:45 +02:00
fpvectorial: Fix scaling of margin around painted image in svgviewer demo.
This commit is contained in:
parent
94c1263a45
commit
49c2c20c36
@ -167,17 +167,12 @@ begin
|
|||||||
page := FVec.GetPage(0);
|
page := FVec.GetPage(0);
|
||||||
page.AdjustPenColorToBackground := CbAdjustPenColorToBackground.Checked;
|
page.AdjustPenColorToBackground := CbAdjustPenColorToBackground.Checked;
|
||||||
|
|
||||||
|
|
||||||
// Measure size of drawing
|
|
||||||
// page.Render(ACanvas, 0, 0, FScaleEff, FScaleEff, DO_NOT_DRAW);
|
|
||||||
|
|
||||||
|
|
||||||
// Draw background as defined in the file
|
// Draw background as defined in the file
|
||||||
page.DrawBackground(ACanvas);
|
page.DrawBackground(ACanvas);
|
||||||
|
|
||||||
// Draw the page
|
// Draw the page
|
||||||
dx := EdMargin.Value - page.RenderInfo.EntityCanvasMinXY.X;
|
dx := round(FScale*EdMargin.Value) - page.RenderInfo.EntityCanvasMinXY.X;
|
||||||
dy := EdMargin.Value - page.RenderInfo.EntityCanvasMinXY.Y;
|
dy := round(FScale*EdMargin.Value) - page.RenderInfo.EntityCanvasMinXY.Y;
|
||||||
|
|
||||||
page.Render(ACanvas, dx, dy, FScaleEff, FScaleEff);
|
page.Render(ACanvas, dx, dy, FScaleEff, FScaleEff);
|
||||||
end;
|
end;
|
||||||
@ -461,12 +456,14 @@ end;
|
|||||||
procedure TMainForm.PrepareCanvas(ACanvas: TCanvas);
|
procedure TMainForm.PrepareCanvas(ACanvas: TCanvas);
|
||||||
var
|
var
|
||||||
page: TvPage;
|
page: TvPage;
|
||||||
|
delta: Integer;
|
||||||
begin
|
begin
|
||||||
page := FVec.GetPage(0);
|
page := FVec.GetPage(0);
|
||||||
page.Render(ACanvas, 0, 0, FScaleEff, FScaleEff, DO_NOT_DRAW);
|
page.Render(ACanvas, 0, 0, FScaleEff, FScaleEff, DO_NOT_DRAW);
|
||||||
|
|
||||||
FImgSize.cx := page.RenderInfo.EntityCanvasMaxXY.X - page.RenderInfo.EntityCanvasMinXY.X + 2*EdMargin.Value;
|
delta := 2 * round(FScale * EdMargin.Value);
|
||||||
FImgSize.cy := page.RenderInfo.EntityCanvasMaxXY.Y - page.RenderInfo.EntityCanvasMinXY.Y + 2*EdMargin.Value;
|
FImgSize.cx := page.RenderInfo.EntityCanvasMaxXY.X - page.RenderInfo.EntityCanvasMinXY.X + delta;
|
||||||
|
FImgSize.cy := page.RenderInfo.EntityCanvasMaxXY.Y - page.RenderInfo.EntityCanvasMinXY.Y + delta;
|
||||||
Image.SetBounds(FImgPos.X, FImgPos.Y, FImgSize.cx, FImgSize.cy);
|
Image.SetBounds(FImgPos.X, FImgPos.Y, FImgSize.cx, FImgSize.cy);
|
||||||
Image.Picture.Bitmap.SetSize(FImgSize.cx, FImgSize.cy);
|
Image.Picture.Bitmap.SetSize(FImgSize.cx, FImgSize.cy);
|
||||||
end;
|
end;
|
||||||
|
Loading…
Reference in New Issue
Block a user