|
@@ -491,7 +491,8 @@ function buildText(destRst, cell, font, control, offsetX, offsetY, adjustY, canv
|
|
|
let innerDftFontHeight = (dftFontHeight * 3 / 4); //SVG的字体与canvas的字体大小的切换, 不用考虑取整
|
|
|
if (control) {
|
|
|
if (control[JV.CONTROL_PROPS[JV.CONTROL_PROP_IDX_VERTICAL]] === "top") {
|
|
|
- y = innerArea[JV.IDX_TOP] + JV.OUTPUT_OFFSET[JV.IDX_TOP];
|
|
|
+ // y = innerArea[JV.IDX_TOP] + JV.OUTPUT_OFFSET[JV.IDX_TOP];
|
|
|
+ y = innerArea[JV.IDX_TOP] + JV.OUTPUT_OFFSET[JV.IDX_TOP] + innerDftFontHeight + JV.OUTPUT_OFFSET[JV.IDX_TOP] + 2; // 向上对齐
|
|
|
} else if (control[JV.CONTROL_PROPS[JV.CONTROL_PROP_IDX_VERTICAL]] === "bottom") {
|
|
|
y = innerArea[JV.IDX_BOTTOM] - JV.OUTPUT_OFFSET[JV.IDX_BOTTOM];
|
|
|
} else if (control[JV.CONTROL_PROPS[JV.CONTROL_PROP_IDX_VERTICAL]] === "center") {
|
|
@@ -565,7 +566,12 @@ function buildText(destRst, cell, font, control, offsetX, offsetY, adjustY, canv
|
|
|
const isCloseOutput = _chkIfCloseOutput(control, values.length, area, orgFontHeight);
|
|
|
let closeTopOffset = 0;
|
|
|
if (isCloseOutput) {
|
|
|
- closeTopOffset = (height - (orgFontHeight + 4) * values.length) / 2;
|
|
|
+ closeTopOffset = (height - (orgFontHeight + 4) * values.length) / 2; // 默认居中对齐
|
|
|
+ if (control[JV.CONTROL_PROPS[JV.CONTROL_PROP_IDX_VERTICAL]] === 'top') {
|
|
|
+ closeTopOffset = JV.OUTPUT_OFFSET[JV.OFFSET_IDX_TOP];
|
|
|
+ } else if (control[JV.CONTROL_PROPS[JV.CONTROL_PROP_IDX_VERTICAL]] === 'bottom') {
|
|
|
+ closeTopOffset = height - (orgFontHeight + 4) * values.length - JV.OUTPUT_OFFSET[JV.OFFSET_IDX_BOTTOM];
|
|
|
+ }
|
|
|
}
|
|
|
for (let vidx = 0; vidx < values.length; vidx++) {
|
|
|
// area[JV.IDX_TOP] = top + vidx * (ah / values.length) + restTopH;
|