图片模糊,拖拽工具问题

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);
// 边框
BasicStroke stroke = new BasicStroke(rect.getStyle().getBorderWidth());
graphics2D.setStroke(stroke);
// 4个顶点坐标
int borderHalfWidth = rect.getStyle().getBorderWidth() / 2;
int[] ltPointXY = new int[]{rect.getLeft() + borderHalfWidth, rect.getTop() + borderHalfWidth};
int[] rtPointXY = new int[]{rect.getLeft() + borderHalfWidth + rect.getWidth() + rect.getStyle().getBorderWidth(), rect.getTop() + borderHalfWidth};
int[] rbPointXY = new int[]{rect.getLeft() + borderHalfWidth + rect.getWidth() + rect.getStyle().getBorderWidth(), rect.getTop() + borderHalfWidth + rect.getHeight() + rect.getStyle().getBorderWidth()};
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], rtPointXY[0], rtPointXY[1]);
// 右边框
graphics2D.drawLine(rtPointXY[0], rtPointXY[1], rbPointXY[0], rbPointXY[1]);
// 下边框
graphics2D.drawLine(lbPointXY[0], lbPointXY[1], rbPointXY[0], rbPointXY[1]);
if (!StringUtils.equals("none", style.getBorderStyle())) {
BasicStroke stroke = new BasicStroke(rect.getStyle().getBorderWidth());
graphics2D.setStroke(stroke);
// 4个顶点坐标
int borderHalfWidth = rect.getStyle().getBorderWidth() / 2;
int[] ltPointXY = new int[]{rect.getLeft() + borderHalfWidth, rect.getTop() + borderHalfWidth};
int[] rtPointXY = new int[]{rect.getLeft() + borderHalfWidth + rect.getWidth() + rect.getStyle().getBorderWidth(), rect.getTop() + borderHalfWidth};
int[] rbPointXY = new int[]{rect.getLeft() + borderHalfWidth + rect.getWidth() + rect.getStyle().getBorderWidth(), rect.getTop() + borderHalfWidth + rect.getHeight() + rect.getStyle().getBorderWidth()};
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], rtPointXY[0], rtPointXY[1]);
// 右边框
graphics2D.drawLine(rtPointXY[0], rtPointXY[1], rbPointXY[0], rbPointXY[1]);
// 下边框
graphics2D.drawLine(lbPointXY[0], lbPointXY[1], rbPointXY[0], rbPointXY[1]);
}
// 方块
graphics2D.setColor(rect.getStyle().getBackgroundColor());
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)));
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 {
@ApiModelProperty(name = "title", value = "标题")
@CheckEmptyAnnotation(name = "标题")
private Integer title;
private String title;
@ApiModelProperty(name = "summary", value = "说明")
@CheckEmptyAnnotation(name = "说明")
private Integer summary;
private String summary;
@ApiModelProperty(name = "sizeWidth", value = "")
@CheckNumberAnnotation(name = "")
private Integer sizeWidth;
@ -40,19 +40,19 @@ public class DragVO {
@CheckListBeanAnnotation
private List<DragRectVO> rects;
public Integer getTitle() {
return title == null ? 0 : title;
public String getTitle() {
return title == null ? "" : title.trim();
}
public void setTitle(Integer title) {
public void setTitle(String title) {
this.title = title;
}
public Integer getSummary() {
return summary == null ? 0 : summary;
public String getSummary() {
return summary == null ? "" : summary.trim();
}
public void setSummary(Integer summary) {
public void setSummary(String summary) {
this.summary = summary;
}

View File

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