【MATLAB编程实例练习】-(20)动态画出心形图案并保存gif动图

本文介绍了如何使用MATLAB编程动态绘制心形图案,并将其保存为gif动图。首先生成心形曲线数据,然后提取定位点,读取小红心图片并进行坐标归一化。通过for循环绘制小红心,最后将每一帧保存到gif文件中。
摘要由CSDN通过智能技术生成

步骤:
(1)生成心形曲线数据,根据小红心的大小从曲线数据中提取适当个数的数据点,作为放置小红心位置的定位点(注:测试发现提取数据点过密的情况下,会导致相互重叠的小红心无法显示,哪位懂得解决方法请告知下,谢谢),保存下来;
(2) imread读取小红心图片;
(3)使用mapminmax将提取的小红心定位点的横纵坐标归一化到画布;
(4)设置画布格式;
(5)使用for循环画出小红心,将每个小虹心保存在emo_love.gif里。

代码如下:

load('EMO_LOVE.mat');
img = imread('emo2.jpg');%读取小红心图片

%X和Y为心形曲线的点坐标
%使用mapminmax归一化到画布,画布长度为0~1,高度为0~1;这里稍微缩小了,以防图片溢出画布
[Y_norm,PS_Y] = mapminmax(Y, 0.05,0.9);
[X_norm,PS_X] = mapminmax(X, 0.05,0.9);

%将画布背景设为白色
set(0,'defaultfigurecolor','w')
%设置画布位置,大小
set(gcf,'unit','centimeters','position',[7,1,20,15])

pic_num = 1;
for i=1:21
      
      subplot('position',[X_norm(i),Y_norm(i),0.06,0.06]);
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值