图片模糊,拖拽工具问题

This commit is contained in:
wanggeng 2023-02-17 16:19:02 +08:00
parent edf049d927
commit f8c32befc7
6 changed files with 111 additions and 109 deletions

View File

@ -55,23 +55,25 @@ public abstract class AbstractModuleRect implements IModuleCommon {
// 旋转 // 旋转
graphics2D.rotate(theta, originX, originY); graphics2D.rotate(theta, originX, originY);
// 边框 // 边框
BasicStroke stroke = new BasicStroke(rect.getStyle().getBorderWidth()); if (!StringUtils.equals("none", style.getBorderStyle())) {
graphics2D.setStroke(stroke); BasicStroke stroke = new BasicStroke(rect.getStyle().getBorderWidth());
// 4个顶点坐标 graphics2D.setStroke(stroke);
int borderHalfWidth = rect.getStyle().getBorderWidth() / 2; // 4个顶点坐标
int[] ltPointXY = new int[]{rect.getLeft() + borderHalfWidth, rect.getTop() + borderHalfWidth}; int borderHalfWidth = rect.getStyle().getBorderWidth() / 2;
int[] rtPointXY = new int[]{rect.getLeft() + borderHalfWidth + rect.getWidth() + rect.getStyle().getBorderWidth(), rect.getTop() + borderHalfWidth}; int[] ltPointXY = new int[]{rect.getLeft() + borderHalfWidth, rect.getTop() + borderHalfWidth};
int[] rbPointXY = new int[]{rect.getLeft() + borderHalfWidth + rect.getWidth() + rect.getStyle().getBorderWidth(), rect.getTop() + borderHalfWidth + rect.getHeight() + rect.getStyle().getBorderWidth()}; int[] rtPointXY = new int[]{rect.getLeft() + borderHalfWidth + rect.getWidth() + rect.getStyle().getBorderWidth(), rect.getTop() + borderHalfWidth};
int[] lbPointXY = new int[]{rect.getLeft() + borderHalfWidth, rect.getTop() + borderHalfWidth + rect.getHeight() + rect.getStyle().getBorderWidth()}; int[] rbPointXY = new int[]{rect.getLeft() + borderHalfWidth + rect.getWidth() + rect.getStyle().getBorderWidth(), rect.getTop() + borderHalfWidth + rect.getHeight() + rect.getStyle().getBorderWidth()};
graphics2D.setColor(rect.getStyle().getBorderColor()); int[] lbPointXY = new int[]{rect.getLeft() + borderHalfWidth, rect.getTop() + borderHalfWidth + rect.getHeight() + rect.getStyle().getBorderWidth()};
// 左边框 graphics2D.setColor(rect.getStyle().getBorderColor());
graphics2D.drawLine(ltPointXY[0], ltPointXY[1], lbPointXY[0], lbPointXY[1]); // 左边框
// 上边框 graphics2D.drawLine(ltPointXY[0], ltPointXY[1], lbPointXY[0], lbPointXY[1]);
graphics2D.drawLine(ltPointXY[0], ltPointXY[1], rtPointXY[0], rtPointXY[1]); // 上边框
// 右边框 graphics2D.drawLine(ltPointXY[0], ltPointXY[1], rtPointXY[0], rtPointXY[1]);
graphics2D.drawLine(rtPointXY[0], rtPointXY[1], rbPointXY[0], rbPointXY[1]); // 右边框
// 下边框 graphics2D.drawLine(rtPointXY[0], rtPointXY[1], rbPointXY[0], rbPointXY[1]);
graphics2D.drawLine(lbPointXY[0], lbPointXY[1], rbPointXY[0], rbPointXY[1]); // 下边框
graphics2D.drawLine(lbPointXY[0], lbPointXY[1], rbPointXY[0], rbPointXY[1]);
}
// 方块 // 方块
graphics2D.setColor(rect.getStyle().getBackgroundColor()); graphics2D.setColor(rect.getStyle().getBackgroundColor());
graphics2D.fillRect(rect.getLeft() + rect.getStyle().getBorderWidth(), rect.getTop() + rect.getStyle().getBorderWidth(), rect.getWidth(), rect.getHeight()); graphics2D.fillRect(rect.getLeft() + rect.getStyle().getBorderWidth(), rect.getTop() + rect.getStyle().getBorderWidth(), rect.getWidth(), rect.getHeight());

View File

@ -64,6 +64,6 @@ public class ModuleCommonImageImpl extends AbstractModuleRect {
} }
// 生成图片 // 生成图片
BufferedImage image = ImageIO.read(new ByteArrayInputStream(FileUtils.readFileToByteArray(imageFile))); BufferedImage image = ImageIO.read(new ByteArrayInputStream(FileUtils.readFileToByteArray(imageFile)));
graphics2D.drawImage(image, rect.getLeft() + rect.getStyle().getBorderWidth(), rect.getTop() + rect.getStyle().getBorderWidth(), rect.getWidth(), rect.getHeight(), null); graphics2D.drawImage(image.getScaledInstance(rect.getWidth(), rect.getHeight(), Image.SCALE_SMOOTH), rect.getLeft() + rect.getStyle().getBorderWidth(), rect.getTop() + rect.getStyle().getBorderWidth(), null);
} }
} }

View File

@ -16,10 +16,10 @@ import java.util.List;
public class DragVO { public class DragVO {
@ApiModelProperty(name = "title", value = "标题") @ApiModelProperty(name = "title", value = "标题")
@CheckEmptyAnnotation(name = "标题") @CheckEmptyAnnotation(name = "标题")
private Integer title; private String title;
@ApiModelProperty(name = "summary", value = "说明") @ApiModelProperty(name = "summary", value = "说明")
@CheckEmptyAnnotation(name = "说明") @CheckEmptyAnnotation(name = "说明")
private Integer summary; private String summary;
@ApiModelProperty(name = "sizeWidth", value = "") @ApiModelProperty(name = "sizeWidth", value = "")
@CheckNumberAnnotation(name = "") @CheckNumberAnnotation(name = "")
private Integer sizeWidth; private Integer sizeWidth;
@ -40,19 +40,19 @@ public class DragVO {
@CheckListBeanAnnotation @CheckListBeanAnnotation
private List<DragRectVO> rects; private List<DragRectVO> rects;
public Integer getTitle() { public String getTitle() {
return title == null ? 0 : title; return title == null ? "" : title.trim();
} }
public void setTitle(Integer title) { public void setTitle(String title) {
this.title = title; this.title = title;
} }
public Integer getSummary() { public String getSummary() {
return summary == null ? 0 : summary; return summary == null ? "" : summary.trim();
} }
public void setSummary(Integer summary) { public void setSummary(String summary) {
this.summary = summary; this.summary = summary;
} }

View File

@ -5,8 +5,8 @@
<link rel="icon" type="image/svg+xml" href="./vite.svg" /> <link rel="icon" type="image/svg+xml" href="./vite.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Vite + Vue</title> <title>Vite + Vue</title>
<script type="module" crossorigin src="./assets/index-bceff6f9.js"></script> <script type="module" crossorigin src="./assets/index-15dc0313.js"></script>
<link rel="stylesheet" href="./assets/index-5598a5dc.css"> <link rel="stylesheet" href="./assets/index-10c46012.css">
</head> </head>
<body> <body>
<div id="app"></div> <div id="app"></div>