2009-06-05 2 views
1

Возможно ли сделать копию объекта Gdk.image с использованием lablgtk2 для Ocaml? Я попытался найти методы «копировать» или «клонировать», но не смог.Как скопировать 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