tar xzf glsc-3.5.a.tar.Z cd tar xzf glsc-3.5.a patch -p1 < ../glsc-3.5+a.patch |
上山パッチで、イメージファイルのダンプが出来るようになる。 それを使って動画ファイルも作れる。
sudo port install ImageMagick sudo port install ffmpeg +nonfree |
#include <magick/api.h> void g_dump(char *fname, Display *display, Window wid) { ImageInfo *image_info; ExceptionInfo ex; int i; int argc = 5; char **argv; argv = (char **)malloc(sizeof(char *)*argc); for(i = 0; i < argc; i++) { argv[i] = (char *)malloc(sizeof(char)*256); } sprintf(argv[0], "glsc"); sprintf(argv[1], "-silent"); sprintf(argv[2], "-window"); sprintf(argv[3], "%d", wid); sprintf(argv[4], "%s", fname); InitializeMagick(*argv); GetExceptionInfo(&ex); image_info = CloneImageInfo((ImageInfo *) NULL); ImportImageCommand(image_info, argc, argv, (char **)NULL, &ex); //image_info = DestroyImageInfo(image_info); for(i = 0; i < argc; i++) { free(argv[i]); } free(argv); } |
うーん?と思わないでもないけれど。 この g_dump(), そもそも GLSC に入れてしまえば良いような気がする。
それはさておき使い方の説明をする。 例えば次のようなコードで連番ファイル名のイメージファイルを出力する。
int id; char filename[128]; Display *display; Window window; ... display = g_get_display(); window = g_get_window(); ... sprintf(filename, "daentai%04d.jpg", id); g_dump(filename, display, window); |
ffmpeg -i daentai%04d.jpg anim.avi |
(どのフォーマットが良いのか、実は詳しくないので…)
以上の上山パッチと桂田パッチはバッティングしない。 自分の内輪用に Mac で用いる glsc-daishin-mk.tar.gz (こういう配布をして良いか分らないのでパスワード付きです) を用意した。
sudo tar xzf glsc-daishin-mk.tar.gz -C /usr/local |