当前位置:   article > 正文

C/C++项目:火遍全网的字符动画到底如何制作呢?(内附源码)

字符动画

字符动画,顾名思义就是由字符组成的动画

如果你经常刷短视频的话,相信你一定刷到过某音创作者将女神井川里予跳舞视频制作成字符动画,点赞也能破10W。

那么,火遍某音的字符动画用编程语言怎么制作呢?感兴趣的话就继续往下看吧!

今天我就带大家一步步去完成字符动画的制作~ 

PS:要安装easyx图形库哦 #include<easyx.h> ,还有opencv(文末领取)

开发工具为VS2019

创建一个项目,并安装opencv图形库#include<opencv2/opencv.hpp>(文章最末领取)教程太长就不放了,文章末有对照学习视频,需要的可以去看哦,如图:

 

 

  1. int main()
  2. {
  3. initgraph(960, 640);
  4. VideoCapture mvideo("./MMD.mp4");
  5. mciSendString("open ./干坤坤.mp3 alias bgm", 0, 0, 0);
  6. const char* str = "@#$%&eb!*,';+^~. ";
  7. int len = strlen(str);
  8. BeginBatchDraw();
  9. Mat frame; //视频帧
  10. while (1)
  11. {
  12. mvideo >> frame;
  13. if (frame.empty())//如果读完就退出
  14. break;
  15. //把BGR颜色空间转为GRAY(转为灰度图)
  16. cvtColor(frame, frame, COLOR_BGR2GRAY);
  17. //调整图片大小
  18. resize(frame, frame, Size(150, 50));
  19. String text;//保存转换后的字符串
  20. cleardevice();
  21. int index = 0;
  22. for (int x = 0; x < frame.rows; x++)
  23. {
  24. for (int y = 0; y < frame.cols; y++)
  25. {
  26. int grayval = frame.at<uchar>(x, y);
  27. index = grayval / 256.0 * len;//通过颜色比例,把颜色转成字符
  28. text += str[index];
  29. }
  30. settextstyle(12, 0, "楷体");
  31. outtextxy(0, x * textheight(str[index]), text.data());//逐行输出
  32. text.clear();//每一行清除一次
  33. }
  34. imshow(" ", frame);
  35. int key = cv::waitKey(10);
  36. if (key == 32)//按空格退出
  37. break;
  38. mciSendString("play bgm", 0, 0, 0);
  39. FlushBatchDraw();
  40. }
  41. cv::waitKey(0);
  42. return 0;
  43. }

视频学习地址:https://www.bilibili.com/video/BV1Pq4y167tt?share_source=copy_webicon-default.png?t=LA92https://www.bilibili.com/video/BV1Pq4y167tt?share_source=copy_web

需要完整源码对照的同学可以在文章末领取~
后续我会发布更多的项目源码以及学习资料,希望大家可以持续关注,想要C/C++学习资料以及完整源码素材图形库开发工具等的可以在最下方获取,有问题也可以进去提问,希望大家可以在这里得到自己想要的知识,也希望如果对你有所帮助的话可以多多关注点赞评论,有建议也可以在评论区提出,谢谢大家的支持!


 

 获取资源神秘通道: 

素材源码图形库opencv及大量学习资料都在这哦icon-default.png?t=LA92https://jq.qq.com/?_wv=1027&k=M4aUitMr

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/94210
推荐阅读
相关标签
  

闽ICP备14008679号