比如这种情况:

图片和文字在同一行,文字的baseline会自动与图片的底部对齐。
对比之下的这种情况:

第二行没有图片,所以行高就是文字的高度。
我现在在开发的iOS应用,也要parse html,遇到类似的图文混在一起的数据,如果想要实现类似上面浏览器的这种效果,该怎么弄?我看目前的iOS应用里面遇到这种情况的解决方案是把图片的高度缩小成与文字高度一样,这样就不需要调整行高了,百度贴吧iOS客户端和微信都是这么做的,微信不能把兔斯基等动态表情和文字一起发送,能和文字一起发送的都是静态的黄豆表情,好像还没有哪款应用能实现类似浏览器的这种效果,感觉这个不太容易。
我目前想到的办法是一行一行地渲染文字,在新的一行开始的时候记录一下这一行第一个字符的位置,记为pos,如果在这一行结束之前遇到了图片,那么就把从pos到图片前的这段字符的行高设为图片的高度,然后底部与图片对齐,把图片需要的空间留出来继续parse,把这行填满之后另起一行继续,就这样一行一行地直到解析完所有的字符。
这样应该是可行的,但是我想知道一般的浏览器是怎么做的?有没有朋友有思路?

图片和文字在同一行,文字的baseline会自动与图片的底部对齐。
对比之下的这种情况:

第二行没有图片,所以行高就是文字的高度。
我现在在开发的iOS应用,也要parse html,遇到类似的图文混在一起的数据,如果想要实现类似上面浏览器的这种效果,该怎么弄?我看目前的iOS应用里面遇到这种情况的解决方案是把图片的高度缩小成与文字高度一样,这样就不需要调整行高了,百度贴吧iOS客户端和微信都是这么做的,微信不能把兔斯基等动态表情和文字一起发送,能和文字一起发送的都是静态的黄豆表情,好像还没有哪款应用能实现类似浏览器的这种效果,感觉这个不太容易。
我目前想到的办法是一行一行地渲染文字,在新的一行开始的时候记录一下这一行第一个字符的位置,记为pos,如果在这一行结束之前遇到了图片,那么就把从pos到图片前的这段字符的行高设为图片的高度,然后底部与图片对齐,把图片需要的空间留出来继续parse,把这行填满之后另起一行继续,就这样一行一行地直到解析完所有的字符。
这样应该是可行的,但是我想知道一般的浏览器是怎么做的?有没有朋友有思路?