调试:对话的文字应当摆放到图像的哪个位置
前言
- 光是文字没啥具体指向,先把网上的一个成品贴出来:
- 前面已经把工具基本都做好了(好吧,只是讲了简单的原理,复杂的功能实现其实就是拼积木)。
接下来要开始正式动工了。以真香.gif
为例,我们应该怎么做呢?- 获取素材(没有对话的GIF + 标准对话的GIF)
- 分离有对话的GIF,观察各个jpg图像,弄清楚有几段对话,分别出现在第几帧到第几帧,比如:
- 我就是饿死: 第0~8帧
- 死外边,从这里跳下去: 第12~23帧
- 不会吃你们一点东西: 第25~34帧
- 真香: 第37~47帧
- 对话的文字应当摆放到图像的哪个位置
- 这里主要是Y坐标要微调,X坐标可以根据对话长度自动计算
- 根据调试好的参数,以没有对话的GIF为模板,加上自定义对话,生成GIF
实现
对话的文字应当摆放到图像的哪个位置呢?
- X坐标:
X坐标 = (图片宽度 - 文字宽度)/2
文字宽度 = 文字数量 * 字体大小
-
Y坐标:
靠人工调整 - 获取没有对话的分离素材后,可以人工在单张图片上加文字进行调试,看看是否符合
try { BufferedImage img = (BufferedImage) ImageIO.read(new File("pics/真香/notext/000.jpg")); Font font = new Font("", Font.BOLD, 12); Color color = Color.white; img = ImgUtil.addText(img, "我就是饿死", 90, 165, font, color); ImageIO.write(img, "jpg", new File("我就是饿死.jpg")); } catch (IOException e) { e.printStackTrace(); }