diff --git a/src/main/java/com/ycwl/basic/puzzle/element/impl/TextElement.java b/src/main/java/com/ycwl/basic/puzzle/element/impl/TextElement.java index 4a5522ee..7dcf7795 100644 --- a/src/main/java/com/ycwl/basic/puzzle/element/impl/TextElement.java +++ b/src/main/java/com/ycwl/basic/puzzle/element/impl/TextElement.java @@ -141,8 +141,12 @@ public class TextElement extends BaseElement { ? textConfig.getTextAlign().toUpperCase() : "LEFT"; - // 起始Y坐标 - int y = position.getY() + fm.getAscent(); + // 计算总文本高度并实现垂直居中 + int totalTextHeight = lineHeight * actualLines; + int verticalOffset = (position.getHeight() - totalTextHeight) / 2; + + // 起始Y坐标(垂直居中) + int y = position.getY() + verticalOffset + fm.getAscent(); // 逐行绘制 for (int i = 0; i < actualLines; i++) {