yasuy****@javao*****
yasuy****@javao*****
2004年 6月 25日 (金) 13:26:25 JST
えんどうです。 > スクリーンに描画された画像を保存したいので、とりあえず (略) > などというコードを追加してみました。 その後以下のように書いて動かしてみました。 ((member kv (list GDK_s)) (let*-values (((w h) (gdk-drawable-get-size (ref widget 'window)))) (let* ((colormap (gdk-drawable-get-colormap (ref widget 'window))) (pixbuf (gdk-pixbuf-new GDK_COLORSPACE_RGB #f 8 w h))) (begin (gdk-pixbuf-get-from-drawable pixbuf (ref widget 'window) colormap 0 0 0 0 w h) (gdk-pixbuf-save #?=pixbuf "test.png" "png") )))) するとこのようなエラーが発生しています。 $ ./fixpoint gauche-update.scm #?=pixbuf #?- #<<gdk-pixbuf> 0x866b8f0> (fixpoint:29175): GdkPixbuf-CRITICAL **: file gdk-pixbuf-io.c: line 1403 (gdk_pixbuf_savev): assertion `error == NULL || *error == NULL' failed *** ERROR: Pixbuf save failed: (null) Stack Trace: _______________________________________ 0 (#<id 0x84fc690 gauche.parseopt::let> ((window-mode #f)) (#<id 0x8 ... [unknown location] GError が nullだと言っているように思えます。 gtk-pixbuf-save に GError を明示的に与えるべきなんでしょうか... -- ENDO Yasuyuki <yasuy****@javao*****> http://www.javaopen.org/~yasuyuki/ (Personal/Japanese Only) http://www.javaopen.org/jfriends/ (Japanese Only)