mirror of
https://github.com/wmjordan/PDFPatcher.git
synced 2026-10-18 13:42:28 +08:00
-修复页面存在左下非0截取框时,部分功能的坐标判断错误
This commit is contained in:
@@ -656,7 +656,7 @@ namespace PDFPatcher.Functions
|
||||
blockPen.DashStyle
|
||||
= spanPen.DashStyle
|
||||
= System.Drawing.Drawing2D.DashStyle.Dash;
|
||||
using (var m = new System.Drawing.Drawing2D.Matrix(z, 0, 0, z, offset.X + o.X - z * b.Left, offset.Y + o.Y - z * b.Top)) {
|
||||
using (var m = new System.Drawing.Drawing2D.Matrix(z, 0, 0, z, offset.X + o.X, offset.Y + o.Y)) {
|
||||
g.MultiplyTransform(m);
|
||||
}
|
||||
foreach (var block in p.TextPage.Blocks) {
|
||||
@@ -786,9 +786,6 @@ namespace PDFPatcher.Functions
|
||||
lock (_mupdf.SyncObj) {
|
||||
var page = _cache.LoadPage(region.Page);
|
||||
var pr = region.ToPageCoordinate(page);
|
||||
if (pr.Intersect(page.VisualBound).IsEmpty) {
|
||||
return null;
|
||||
}
|
||||
if (pr.Intersect(page.TextPage.BBox).IsEmpty) {
|
||||
return null;
|
||||
}
|
||||
@@ -1013,8 +1010,8 @@ namespace PDFPatcher.Functions
|
||||
var o = _pageOffsets[pageNumber];
|
||||
var b = _pageBounds[pageNumber];
|
||||
var z = _zoomFactor;
|
||||
var l = (box.Left - b.Left) * z + __pageMargin;
|
||||
var t = (box.Top - b.Top) * z + __pageMargin;
|
||||
var l = box.Left * z + __pageMargin;
|
||||
var t = box.Top * z + __pageMargin;
|
||||
if (rtl) {
|
||||
l += o;
|
||||
}
|
||||
|
||||
@@ -68,7 +68,7 @@ namespace PDFPatcher.Functions.Editor
|
||||
|
||||
public MuPoint ToPageCoordinate(MuPage page) {
|
||||
var pb = page.VisualBound;
|
||||
return new MuPoint(PageX, pb.Bottom - (PageY - pb.Top));
|
||||
return new MuPoint(PageX - pb.Left, pb.Bottom - PageY);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -94,9 +94,9 @@ namespace PDFPatcher.Functions.Editor
|
||||
var r = Region;
|
||||
var pb = page.VisualBound;
|
||||
return new MuRectangle(r.Left,
|
||||
pb.Bottom - (r.Top - pb.Top),
|
||||
pb.Bottom - r.Top,
|
||||
r.Right,
|
||||
pb.Bottom - (r.Bottom - pb.Top));
|
||||
pb.Bottom - r.Bottom);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user