百度贴吧“神来一句”功能分析

最近需要为论坛做一个类似百度贴吧的“神来一句”的功能,对其相关实现进行了分析,并给出自己的实现方式。

功能分析

神来一句可以理解为一种快速回复帖子的途径,用于可以直接发送表情图片,也可以编辑其中的文字,然后再发送图片。

经过分析可以发现每个表情图片都对应一个原始图片和留白图片,其中如果用于不修改文字直接发送,则实际上发送的是原始图片;如果用于修改其中文字,则需要重新生成图片,然后发送生成的图片。

相关技术点

最近也没抽出时间总结,有几个难点先记录下。

文字框固定,字体大小根据多少自适应

外面用一个宽高固定的div,里面再套一个宽高自适应的div,内层的div随着字体的大小和内容的变化而变化。每次修改文字内容,都先将字体设置为最大,然后判断内层div大小,如果超过外层,则fonst-size递减,最终找到合适的font-size,实现文字大小的自适应。

后端生成图片时,字体大小与前端一致

因为使用gd库为图片添加文字时,字体大小单位时磅,前端font-size大小是像素,所以需要先进行单位的转换。

后端生成图片时,保持与前端一致的wordbrake

因为用户输入的内容可能包括中文和英文,英文单词过长时需要进行wordbrake。后端php中workbrake分割中文会导致乱码,可以使用用于处理utf-8的mb_wordbrake(网络上有资源)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值