项目>GIF斗图软件 总结概述

项目环境Vs2013,开发平台Windows10,使用语言C/C++,相关库Duilib

项目相关概念解释

GIF
  • GIF分为静态GIF和动画GIF两种,扩展名为.gif,是一种压缩位图格式,支持透明背景图像,适用于多种操作系统,“体型”很小。其实GIF是将多幅图像保存为一个图像文件,从而形成动画,最常见的就是通过一帧帧的动画串联起来的搞笑gif图,所以归根到底GIF仍然是图片文件格式。

Duilib库

第三方库,应用窗口美化,逻辑操作与界面分离,用XML文档进行界面编辑

  • DuiLib库是轻量级的C++界面开发库。duilib并没有像MFC那样把所有的东西全包装了,它仅仅包装了UI部分而已,其他的还是需要用win32、MFC的知识,所以除了UI部分,其他的都和duilib没有关系。它仅仅是让逻辑操作与界面分离了。

Duilib库优点:

  1. 基于GDI在窗口上自绘,无其他依赖,未使用特殊或危险的系统调用,能够很好的解决传统MFC界面的一系列问题。
  2. 使用XML来描述界面风格,界面布局,将界面和逻辑分离,同时易于实现各种超炫的界面效果如换色,换肤,透明等。
  3. 完全兼容ActiveX控件(如常见的IE控件和Flash),也可以和MFC等界面库配合使用。
  4. 可广泛用于互联网客户端、工具软件客户端、管理系统客户端、多媒体客户端(如KTV、触摸屏)、车载电脑系统、gps系统和手机客户端软件等。

MFC

  • 微软基础类库,是微软公司提供的一个类库,以C++类的形式封装了Windows API,并且包含一个应用程序框架,以减少应用程序开发人员的工作量。其中包含大量Windows句柄封装类和很多Windows的内建控件和组件的封装类。

XML

  • 可扩展标记语言,标准通用标记语言的子集,简称XML。是一种用于标记电子文件使其具有结构性的标记语言。

FFmpeg

  • FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。

字幕

  • 字幕是指电影、电视,以及戏剧、歌剧等舞台作品中出现的各种用途的文字。
  • 硬字幕 将字幕覆盖叠加在视频画面上。
  • 软字幕 通过某种方式将外挂字幕与视频打包在一起,下载、复制时只需要复制一个文件即可。

SSA/ASS文件

  • 文本格式字幕文件

详见:https://blog.csdn.net/winglyx/article/details/6791719

操作过程

<基础了解部分>↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓.

1.Win32应用程序

  • 一个Win32应用程序可以分为程序代码和UI资源两大部分,两部分最终是以rc整合成一个完整的exe可执行程序。
  • 所谓UI资源,指的是功能菜单、对话框外貌、程序图标、光标形状等东西。
    Win32应用程序流程
    1.注册窗口类
    2.创建窗口
    3.显示窗口&更新窗口
    4.消息队列
  1. 注册窗口类:RegisterClass
    窗口创建前,对窗口的属性进行一些设置,主要是窗口的外貌以及行为,比如:窗口的边框、颜色、位置、标题、颜色、小等就是窗口的外貌,窗口接受到消息后如何响应,就是为该窗口绑定窗口处理函数,窗口在创建前,必须使用RegisterClass函数告诉系统。
  2. 创建窗口:CreateWindow
    按照设置的窗口大小、窗口风格、窗口标题、窗口位置等将窗口创建成功。注意:CreateWindow
  3. 显示窗口和更新窗口
    将窗口在界面中展示出来
  4. 消息循环
    Windows程序的运行是依靠外部的事件来驱动。换句话说,程序不断等待,等待任何可能的输入,然后做出判断,再做适当的处理。

<界面部分>↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓.

2.Duilib库的配置与学习

这个博主总结得很详细有很大的帮助:https://www.cnblogs.com/Alberl/p/3342030.html

3.界面的制作

duilib主打的界面制作方式是XML + UI引擎 +win32框架

很方便的使用了Duilib库,直接链接XML文档,对XML文档进行编辑,XML文本标记语言使用起来很方便,但是有更方便的工具编辑XML,DuiDesigner直接编辑图形界面从而修改XML文档。

<按钮与功能部分>↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓.

4.控件的生成与优化

总结了几篇博客:https://blog.csdn.net/qq_42069216/article/category/9215809

5.使用cmd给ffmpeg发送命令

如下:https://blog.csdn.net/qq_42069216/article/details/99304667

6.字幕的编辑

先要对字幕进行提取,软字幕很好提取,但是硬字幕就需要使用工具进行提取了,使用exrXp进行ass文件的提取,之后修改再烧录进视频就可以了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值