请让我知道任何其他系统/代码我需要包括,因为我不熟悉写出图像到我的计算机.我正在创建360 png文件如下:
for(theta in 1:360){
ic=as.character(theta)
if(theta<10) ic=paste("00",ic,sep="")
if(theta>=10 & theta<100) ic=paste("0",ic,sep="") # make filenames the same length
fn=paste("c:iris360\\HW4_",ic,".png",sep="") #filename
png(fn,width=1000,height=1000) # save as *.png
p3(X1,X2, r=100,theta=theta,mainL=paste("theta =",theta))
# legend("topleft",pch=16,cex=1.5,col=allcl)
dev.off()
}
system("magick c:iris360\\HW4*.png c:iris.gif")
其中,p3只是一个函数,它取矩阵X1和X2,并绘制点及其线段(如果需要,请告诉我)。但是,我得到了以下错误:第一个月
我无法打开gif文件,因为我的mac说它已损坏或使用预览无法识别的文件格式。
更新1:我将fn的声明替换为
fn <- sprintf("c:iris360/HW4_%03i.png", theta)
以及在IC出现的任何地方用sprintf(“%03i”,theta)替换IC,但仍然得到相同的指定图像大小错误。
当我在终端中运行system命令时,仍然会收到相同的错误,要求我指定图像大小。
1条答案
按热度按时间dxxyhpgq1#
Magick需要知道一些事情(例如,图像大小,帧之间的延迟,要使用的图像,目标文件名),以便将png堆栈转换为gif。参见GIF动画和动画元数据
所以看起来你需要改变
变成更像是