我有一个可调整大小的div
,其中包含text/sentences
。当我resize
div
时,文字会自动换行到fit
中可用空间内的container div
。
现在我需要通过text
php
将此(gd library)
转换为图片,但由于php-gd
无法直接处理多行文字,我需要以某种方式告诉它文本包装的确切位置和新行开始,但我不知道如何在javascript
或php
中执行此操作。
此外font
为dynamic
,因此我无法使用alphabets
的大小来计算所述dimension
中可能的字符数。有什么想法吗?
答案 0 :(得分:1)
<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;
}
}
});
答案 1 :(得分:0)
您可以尝试使用计算height
和计算line-height
。两者都可能,例如$('div').innerHeight()
或$('div').css('lineHeight')
。您可以找出文本拆分的行数,然后使用一些自动换行算法自行添加正确的行结尾。结果可能与浏览器中的结果不完全相同,但您可以接近。