From c74810869de027b39e32860ff13fc00ca4831bda Mon Sep 17 00:00:00 2001 From: plough Date: Fri, 22 Jun 2018 18:14:06 +0800 Subject: [PATCH 1/2] =?UTF-8?q?REPORT-9019=20=E7=BB=9D=E5=AF=B9=E5=B8=83?= =?UTF-8?q?=E5=B1=80=E9=80=82=E5=BA=94=E5=8C=BA=E5=9F=9F=EF=BC=8C=E5=87=8F?= =?UTF-8?q?=E5=B0=91=E4=B8=8D=E5=90=8C=E5=88=86=E8=BE=A8=E7=8E=87=E4=B8=8B?= =?UTF-8?q?=E7=BB=84=E4=BB=B6=E5=9D=90=E6=A0=87=E7=9A=84=E8=AE=A1=E7=AE=97?= =?UTF-8?q?=E8=AF=AF=E5=B7=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/fr/design/designer/creator/XWAbsoluteLayout.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/designer-form/src/com/fr/design/designer/creator/XWAbsoluteLayout.java b/designer-form/src/com/fr/design/designer/creator/XWAbsoluteLayout.java index 0122fc971..b66add8e6 100644 --- a/designer-form/src/com/fr/design/designer/creator/XWAbsoluteLayout.java +++ b/designer-form/src/com/fr/design/designer/creator/XWAbsoluteLayout.java @@ -248,10 +248,10 @@ public class XWAbsoluteLayout extends XLayoutContainer { for (int i = 0; i < this.getComponentCount(); i++) { XCreator creator = getXCreator(i); Rectangle rec = new Rectangle(creator.getBounds()); - rec.x = (int) (rec.x / prevContainerPercent * containerPercent); - rec.y = (int) (rec.y / prevContainerPercent * containerPercent); - rec.height = (int) (rec.height / prevContainerPercent * containerPercent); - rec.width = (int) (rec.width / prevContainerPercent * containerPercent); + rec.x = (int)Math.round (rec.x / prevContainerPercent * containerPercent); + rec.y = (int)Math.round (rec.y / prevContainerPercent * containerPercent); + rec.height = (int)Math.round (rec.height / prevContainerPercent * containerPercent); + rec.width = (int)Math.round (rec.width / prevContainerPercent * containerPercent); BoundsWidget wgt = (BoundsWidget) toData().getBoundsWidget(creator.toData()); wgt.setBounds(rec); creator.setBounds(rec); From c8d7760c4e05aff02acf173cbfdf77859425a173 Mon Sep 17 00:00:00 2001 From: plough Date: Mon, 25 Jun 2018 13:45:56 +0800 Subject: [PATCH 2/2] =?UTF-8?q?REPORT-8608=20-=20=E5=AE=89=E5=85=A8?= =?UTF-8?q?=E6=80=A7=E4=B9=8B=E6=B0=B4=E5=8D=B0=E4=BA=A4=E4=BA=92=E9=AA=8C?= =?UTF-8?q?=E6=94=B6=E9=97=AE=E9=A2=98=3D>=E8=81=9A=E5=90=88=E6=8A=A5?= =?UTF-8?q?=E8=A1=A8=E9=83=A8=E5=88=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/com/fr/poly/PolyDesignUI.java | 45 ++++++++++++++----- 1 file changed, 33 insertions(+), 12 deletions(-) diff --git a/designer-realize/src/com/fr/poly/PolyDesignUI.java b/designer-realize/src/com/fr/poly/PolyDesignUI.java index f63252fd4..7b98269ea 100644 --- a/designer-realize/src/com/fr/poly/PolyDesignUI.java +++ b/designer-realize/src/com/fr/poly/PolyDesignUI.java @@ -3,30 +3,23 @@ */ package com.fr.poly; -import java.awt.*; -import java.awt.geom.Rectangle2D; -import java.awt.image.BufferedImage; -import java.text.DecimalFormat; -import java.util.ArrayList; - -import javax.swing.JComponent; -import javax.swing.JScrollBar; -import javax.swing.plaf.ComponentUI; - import com.fr.base.GraphHelper; import com.fr.base.Margin; import com.fr.base.PaperSize; import com.fr.base.ScreenResolution; +import com.fr.base.iofile.attr.WatermarkAttr; import com.fr.design.utils.ComponentUtils; import com.fr.general.Background; +import com.fr.general.ComparatorUtils; import com.fr.general.Inter; +import com.fr.main.FineBook; import com.fr.page.PaperSettingProvider; import com.fr.page.ReportSettingsProvider; +import com.fr.page.WatermarkPainter; import com.fr.poly.creator.BlockCreator; -import com.fr.poly.creator.ECBlockCreator; -import com.fr.poly.creator.ECBlockEditor; import com.fr.poly.model.AddedData; import com.fr.poly.model.AddingData; +import com.fr.report.core.ReportUtils; import com.fr.report.report.Report; import com.fr.report.report.TemplateReport; import com.fr.report.stable.ReportConstants; @@ -34,6 +27,21 @@ import com.fr.stable.Constants; import com.fr.stable.CoreGraphHelper; import com.fr.stable.unit.UNIT; +import javax.swing.JComponent; +import javax.swing.JScrollBar; +import javax.swing.plaf.ComponentUI; +import java.awt.Color; +import java.awt.Dimension; +import java.awt.Graphics; +import java.awt.Graphics2D; +import java.awt.Point; +import java.awt.Rectangle; +import java.awt.RenderingHints; +import java.awt.geom.Rectangle2D; +import java.awt.image.BufferedImage; +import java.text.DecimalFormat; +import java.util.ArrayList; + /** * @author richer * @since 6.5.3 聚合报表设计块的ui类 @@ -48,6 +56,7 @@ public class PolyDesignUI extends ComponentUI { private PolyDesigner designer; private int resolution; private float time; + private WatermarkPainter watermarkPainter; public PolyDesignUI(int resolution) { if (resolution == 0){ @@ -97,6 +106,18 @@ public class PolyDesignUI extends ComponentUI { paintAddingData(g2d, addData); } paintPaginateLine(g2d); + paintWatermark(g2d, designer.getTarget().getBook(), c.getWidth(), c.getHeight()); + } + + // 绘制水印 + private void paintWatermark(Graphics2D g2d, FineBook book, int width, int height) { + WatermarkAttr watermark = ReportUtils.getWatermarkFromAttrMarkFile(book); + + // 不要每次都 new 一个 WatermarkPainter + if (watermarkPainter == null || !ComparatorUtils.equals(watermarkPainter.getWatermark(), watermark)) { + watermarkPainter = new WatermarkPainter(watermark); + } + watermarkPainter.paint(g2d, width, height); } private void paintAddedData(Graphics g) {