2

我有一个可调整大小div的包含text/sentences. 当 Iresizediv,文本会自动换行fitcontainer div.

现在我需要通过 将其转换text为图像php (gd library),但由于php-gd无法直接处理多行文本,我需要以某种方式告诉它文本包装的确切位置和新行的开始位置,但我不知道如何在任何一个javascriptphp.

此外,fontdynamic不能使用诸如大小之类的东西alphabets来计算所述中可能的字符数dimension。有任何想法吗?

4

2 回答 2

2

一个小技巧......用 a 包裹每个字符<span></span>并计算它们的偏移量。

在这里提琴

代码:

$('#Action').click(function(){
    var orginalText = $('#container').text();
    var characters = orginalText.split('');
    var wrappedText = "";
    for(var i =0; i< characters.length; i++){
        wrappedText += "<span id='wrapped_" + i + "'>" + characters[i] + "</span>";
    }

    $('#container').html(wrappedText);
    var top = 0;
    for(var i =0; i< characters.length; i++){
        var characterTop = $('#wrapped_'+i).offset().top;
        if(characterTop > top){
            console.log("line break at position " + i);
            top = characterTop;
        }
    }
});
于 2013-10-18T08:07:19.730 回答
0

您可以尝试使用 computedheight和 computed line-height。例如$('div').innerHeight()或都可能$('div').css('lineHeight')。您可以找出文本分为多少行,然后使用一些自动换行算法自己添加正确的行尾。结果可能与浏览器中的不完全一样,但您可以接近。

于 2013-10-18T08:01:55.697 回答