MATLAB动画:风景上跳动的诗行

摘要:介绍在MATLAB中如何设置背景图片并在上面添加文字动画,动画效果如上图。本文简要介绍设计思路后对MATLAB代码进行解释。

1. 前言

这三周都在准备考试和写论文中度过,几天的连绵春雨过后,一出门发现空气中早已弥漫着清新的花香。结束一段紧张的生活终于可以清闲几日,想想已是阳春三月,把窗户打开,遇暖,见花开,心自然欢愉,脚步自然轻快。不过看着地上浅铺的花瓣还真有点担心“连雨不知春去,一晴方觉夏深”,刚刚有所空闲春天就要过去了。徜徉在浅春的陌上,盈一袖和风,走在细雨微风中,轻轻地嗅着芳香,气定神闲,悠然自得。纵使生活里不乏烦躁与辛劳,也要留一份宁静与希冀,安植于日渐丰盈的春光里。

漫步一圈归来,想到有景当有诗啊在拍下的照片上加几句诗才够意境嘛,受此启发可以做一个在背景图片上添加文字的动画,一想在MATLAB中也不难实现,说干就干,几分钟后一个风景图上跳动着诗行的动画程序跑了出来。算是娱乐一下吧,也正好接着上一篇博文对MATLAB的动画设计做一个补充,这里贴出代码和实现思路,感兴趣的朋友可以复制代码自己实现一下。

2.  实现步骤

背景图:

image.jpg

要设计在一张图片中添加文字的动画,其设计思想为,创建一个隐藏、铺满窗口的坐标轴,在坐标轴内创建一个image对象,也就是该背景图片,继续在坐标系中创建text对象,并从左至右依次移动和显示以下诗句:

人闲桂花落,夜静春山空。

月出惊山鸟,时鸣春涧中。

背景图片可以通过在铺满窗口的隐藏坐标系内创建基于该图片的image对象来实现,而诗句可以通过创建多个text对象来实现,而字体移动、旋转、缩放和显示的动画效果是通过循环逐渐控制text对象的Position(位置)、Rotation(旋转角度)、FrontSize(字体大小)属性实现的。

程序如下:

%% MATLAB动画:风景上跳动的诗行
% 制作人:W·X
% 2018.3.18
clear;
clc;
%% 创建图形窗口并设置属性
hFigure=figure('menubar','none','NumberTitle','off','position',...[700 700 500 350],'name','鸟鸣涧');
movegui(hFigure,'center');%居中
%创建坐标轴,用于显示背景图片和文本
hAxes=axes('visible','off','units','normalized','position',[0 0 1 1]);
cData=imread('image.jpg');
image(cData);%显示图片
axis off;%关闭坐标轴显示
strCell={'人闲桂花落','夜静春山空','月出惊山鸟','时鸣春涧中'};%要显示的字符串%实现动画
for i=1:numel(strCell)strTemp=strCell{i};%取每一条诗句str=[strTemp;10*ones(1,length(strTemp))];%在每句后添加一个换行符str=str(:)';%获取添加了换行符的诗句字符串for j=1:length(str)str1=str(j);%获取一句中的每个字%创建text对象,用于显示字符t=text('Horizontal','right',...'FontName','华文行楷','FontSize',26,'Color','c');%改变text对象属性,重绘产生动画for k=360:-40:1    % 设置text对象要显示的字符、字符位置set(t,'string',str1,'position',[(1300-100*i)-k (50+40*j)+k]);% 设置text对象旋转角度、字体大小set(t,'Rotation',k-40,'FontSize',8+k/2);drawnow;%重绘图形窗口end  end
end

生成的窗口如图2.1所示

图2.1 部分动画窗口截图

3.  结束语

本次分享的程序就是这些了,更多详细关于MATLAB动画的制作可以参考本人上一篇博文“利用MATLAB实现图片切换动画效果详解”。本博文介绍的程序在MATLAB R2016b中调试通过,其程序严谨没有错误。有需要的朋友可以在评论区留言提供邮箱,本文完整m文件及图片文件可发送给您。由于作者能力有限,代码即使经过了校对,也难免会有疏漏之处。希望您能热心指出其中的错误,以便下次修改时能以一个更完美更严谨的样子,呈现在大家面前。同时如果有更好更有趣的设计方法也请您不吝赐教。

MATLAB动画:风景上跳动的诗行相关推荐

  1. Matlab 动画及Gif生成

    Matlab动画及Gif图片生成 今天在Matlab论坛上碰到有坛友求助动画和Gif图片生成的问题.大概知道怎么弄,实际做做查查发现还是有不少地方,新版本跟旧版本的Matlab存在差异.鉴于我是一个比 ...

  2. MATLAB动画绘制

    Matlab动画制作 Matlab的动画制作: 质点动画:最简单的动画产生方式,产生一个顺着曲线轨迹运动的质点来操作. 电影动画:首先保存一系列的图形,然后按照一定的顺序像电影一样的播放. 程序动画: ...

  3. html数字跳动加载,【AE】加载动画和数字跳动

    原标题:[AE]加载动画和数字跳动 转载一篇晓斌师兄的教程~ 最近都在研究动效,跟着师兄一起动手吧! 转载:吴影浪技 作品:http://www.zcool.com.cn/work/ZMjExNzkx ...

  4. 凸包计算几何matlab,计算几何-凸包算法 Python实现与Matlab动画演示

    凸包算法是计算几何中的最经典问题之一了.给定一个点集,计算其凸包.凸包是什么就不罗嗦了 本文给出了<计算几何--算法与应用>中一书所列凸包算法的Python实现和Matlab实现,并给出了 ...

  5. Matlab 如何回退上一步、批量注释以及取消注释

    写在这里的初衷,一是备忘,二是希望得到高人指点,三是希望能遇到志同道合的朋友. (今天看到有位博主写的话,感觉很认同) 学习matlab的时候,很多时候想回退到上一步,又找不到对应选项. 想批量注释和 ...

  6. matlab生成exe-在没有安装matlab的电脑上运行matlab生成的exe

    在没有安装matlab的电脑上运行matlab生成的exe 本文介绍如何将matlab生成exe,并将该exe在没有安装matlab的电脑上运行,与以前的博文相似地,不说废话,直接干货. 1.编写函数 ...

  7. matlab动画_弹簧振子振动的matlab动画演示

    用Matlab阐述物理中的胡克定律,为弹簧振子震动的matlab动画示意图,另有一个为不同质量不同弹簧系数的比较.spring.m,compare.m rectangle('position',[12 ...

  8. matlab在常微分方程的应用,MATLAB在常微分方程上应用.ppt

    您所在位置:网站首页 > 海量文档 &nbsp>&nbsp计算机&nbsp>&nbspmatlab MATLAB在常微分方程上应用.ppt11页 本文 ...

  9. matlab和气象,matlab在气象上的应用

    matlab在气象上的应用 ,,在大气科学中的应用,李若楠,一.Matlab界面简介以及一些重要指令和注意事项 二.数据处理,,plot相关命令绘图,contour(f)命令绘图,不同投影方式绘图,其 ...

最新文章

  1. senfile函数实例的运行过程截图
  2. python--gevent高并发socket
  3. [导入]将DataGrid输出到Excel文件
  4. Label Assign综述:提升目标检测上限
  5. 从单机应用到微服务,用户认证走几步?
  6. hadoop使用combiner合并操作
  7. shell script 的追踪与 debug
  8. 网络攻防实验(五)——201521460003王浩洋
  9. 牛客网—12.链表练习python解答
  10. CodeBlocks(17.12) 代码调试基础方法快捷方式
  11. JS小图切换大图轮播代码
  12. html5常用的小控件,收藏了
  13. java实现语音播放功能
  14. Dvorak or qwert?
  15. 在一家公司干多长时间跳槽才合适?值得一读!
  16. Techwiz LCD 1D:SRF的颜色分析
  17. 计算机视觉-论文阅读笔记-基于高性能检测器与表观特征的多目标跟踪
  18. easyexcel 列头合并_2020-05-19:EasyExcel自定义合并单元格
  19. CST仿真指导 | 如何构建个性化的用户界面
  20. 计算机与网络应用封面,计算机二级考试真题-Word-小王-计算机与网络应用

热门文章

  1. Google Maps API实例-地图搜索
  2. 网络驱动丢失怎么装驱动
  3. SAP中预制发票应用分析测试
  4. (Gradle实操)一步步使用Android Studio配置Gradle并运行Github开源源码
  5. 【VBA编程】03.判断输入年份是否是闰年
  6. 青藤 #210733 奶牛碑文
  7. 魅族路由器极速版刷机_好先生追剧神器 魅族路由器极速版评测
  8. 【无标题】Annotation-specified bean name ‘homeService‘ for bean class [com.wonders.task.service.impl.Wai]
  9. 【SQL查询日志】查看数据库历史查询记录
  10. 美云智数采购云SRM,助力企业实现数字化转型