线高的主要问题在结构中,它似乎根本不对。请查看下面第一张图片中突出显示的文字。这是来自Photoshop。这里的领先优势是62.54px。看第二个图像,它是同一文本应用的相同行高63.54px,间隙很大。实际上你可以看到多个arras,其中织物没有像在photoshop中那样正确渲染线条高度:(画布在这里被缩小,但如果它是完整尺寸则没有区别)
这真让我很沮丧。线条高度在每个字符的基础上应用于布料中的样式数组,使用以下覆盖线条高度方法:
_getHeightOfLine: function(ctx, lineIndex) {
var lineSpacing = this.getCurrentCharStyle (lineIndex, 0).lineHeight || 0;
console.log("LINE: " + lineIndex + " LINE HEIGHT: " + lineSpacing);
if (this.__lineHeights[lineIndex]) {
return this.__lineHeights[lineIndex] + lineSpacing;
}
var line = this._textLines[lineIndex],
maxHeight = this._getHeightOfChar(ctx, lineIndex, 0);
for (var i = 1, len = line.length; i < len; i++) {
var currentCharHeight = this._getHeightOfChar(ctx, lineIndex, i);
if (currentCharHeight > maxHeight) {
maxHeight = currentCharHeight;
}
}
this.__lineHeights[lineIndex] = maxHeight * this.lineHeight * this._fontSizeMult;
return this.__lineHeights[lineIndex] + lineSpacing ;
},
无论我做什么,线高度永远不会成功,最大的问题是它必须动态工作,有大量的PSD文件加载到结构中,它们似乎都工作不同的线高度。
所以我的问题是:为什么布料不像在photoshop中那样显示线高?