FabricJS - 线高度如何工作?

时间:2018-06-11 15:18:51

标签: fabricjs

线高的主要问题在结构中,它似乎根本不对。请查看下面第一张图片中突出显示的文字。这是来自Photoshop。这里的领先优势是62.54px。看第二个图像,它是同一文本应用的相同行高63.54px,间隙很大。实际上你可以看到多个arras,其中织物没有像在photoshop中那样正确渲染线条高度:(画布在这里被缩小,但如果它是完整尺寸则没有区别)

enter image description here

enter image description here

这真让我很沮丧。线条高度在每个字符的基础上应用于布料中的样式数组,使用以下覆盖线条高度方法:

_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中那样显示线高?

0 个答案:

没有答案