NiceLeeのBlog 用爱发电 bilibili~

Java 真香!如何给Gif添加对白(六)

2020-06-17
nIceLee

阅读:


调试:对话的文字应当摆放到图像的哪个位置

前言

  • 光是文字没啥具体指向,先把网上的一个成品贴出来:
  • 前面已经把工具基本都做好了(好吧,只是讲了简单的原理,复杂的功能实现其实就是拼积木)。
    接下来要开始正式动工了。以真香.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();
    }
    

源码

https://github.com/ButterAndButterfly/Q-Gif


内容
隐藏