2009-06-05 38 views
1

是否可以使用lablgtk2爲Ocaml製作Gdk.image對象的副本? 我試圖找到'複製'或'克隆'的方法,但失敗了。如何複製Gdk.image?

回答

1

也許你可以使用pixbuf?它可以從任何可繪製的東西創建。

0

這裏是我的笨拙的解決方法:

let copy_image image = 

    let w, h = Image.width image, Image.height image in 

    let copy = Image.create ~kind: `FASTEST ~visual: (Image.get_visual image) 

     ~width: w 

     ~height: h in 

    for x = 0 to w-1 do 

     for y = 0 to h-1 do 

      Image.put_pixel copy ~x:x ~y:y (Image.get_pixel image ~x:x ~y:y) 

     done 

    done; 
    copy 
+0

雖然pixbuf的變化也是笨拙:( – Alfa07 2009-08-21 21:05:30