감동, 마음이 움직이는 것
pdf파일로 gif만들기 본문
일단 기본적으로 gnuplot을 이용하면 데이터를 가지고 바로 손쉽게 gif를 만들 수 있다.
set terminal gif animate delay 70 size 1000, 700 enhanced font "Helverica,12"
set output 'landscape.gif'
p '../data/points_t1.txt' u 1:2 with circles lc rgb "blue" t 't=1'
p '../data/points_t2.txt' u 1:2 with circles lc rgb "blue" t 't=2'
...
이런식으로 애니메이션으로 만들어주고 싶은 그림을 그리라고 하면 그림으로 그려준다.
set terminal gif animate 라는 건 그림은 gif형식의 그림으로 그려서 animation을 만들겠다는 포멧을 선언하는 부분이고 그 뒷부분은 옵션이 되겠다.
delay는 그림이 전환되는 시간을 의미하고 size는 그림의 크기 그 뒤의 enhanced는 그림의 컬러를 위한 것일텐데 확실하진 않다. 뒤의 font는 Helerica라는 font로 글자 크기12를 사용하겠다는 말이다.
set output 'landscape.dif'은 landscape.gif라는 이름으로 애니메이션 아웃풋을 만들겠다는 것이다.
그런데 문제가 생겼다.
transparent하게 그림을 그리면 png나 pdf포멧에서는 지원이 되는데 저렇게 바로 그려버리면 transparent지원이 안되는거다!
그래서 결국 png나 pdf파일을 가지고 gif를 그려야 하는데 이번에는 ImageMagick이라는 프로그램을 사용하였다.
일단 무료로 배포되어 있으므로 사이트에서 다운로드 가능하다.
다운 받고 나면 path로 지정해서 command에서 사용가능하다.
명령어는 convert이고 나는 다음과 같은 명령어를 이용하여 만들었다.
convert -delay 70 -loop 0 -density 300 1.pdf 2.pdf 3.pdf 4.pdf 5.pdf 6.pdf 7.pdf 8.pdf 9.pdf 10.pdf 11.pdf 12.pdf 13.pdf 14.pdf transparent.gif
여기서 delay는 그림이 넘어가는 시간이고 loop이랑 density는 조절을 안해봐서 뭔지 잘 모르겠다.
여튼 위와 같이 명령어를 넣어면 .pdf파일을 이용해서 transparent.gif 라는 애니메이션을 만들어준다.
끝.
'Tips (Utility, Computer Language, and etc.)' 카테고리의 다른 글
[Mathematica] VectorPlot (0) | 2016.09.13 |
---|---|
[Latex] 그림 multiplot으로 안 그리고 tex에서 바로 table로 넣는 방법 (0) | 2016.09.12 |
[c++] file append로 쓰기 (0) | 2016.09.06 |
[영어 Correction] thesis Ver.1 (0) | 2016.07.08 |
[mathematica] reduce 부등식 풀기 (0) | 2016.07.03 |