38 lines
963 B
Elixir
38 lines
963 B
Elixir
|
|
---------------------------------
|
|
--# more tinkering with pixbufs;
|
|
---------------------------------
|
|
|
|
include GtkEngine.e
|
|
|
|
constant clown = "thumbnails/clown.png"
|
|
|
|
constant win = create(GtkWindow,"background=blue,border=10,position=1,$destroy=Quit")
|
|
|
|
constant panel = create(GtkBox,"orientation=VERTICAL")
|
|
add(win,panel)
|
|
|
|
constant pixbox = create(GtkBox,"orientation=HORIZONTAL")
|
|
add(panel,pixbox)
|
|
|
|
constant pix = create(GdkPixbuf,clown,200,200),
|
|
img1 = create(GtkImage,pix)
|
|
|
|
atom x1 = get(pix,"scale simple",140,240,GDK_INTERP_HYPER) -- HYPER = best quality, slow
|
|
|
|
constant img2 = create(GtkImage,x1)
|
|
|
|
atom x2 = create(GdkPixbuf,clown,200,200)
|
|
set(pix,"copy area",50,40,90,45,x2,50,140) -- copy, move and paste 'cutout'
|
|
|
|
constant img3 = create(GtkImage,x2)
|
|
|
|
add(pixbox,{img1,img2,img3})
|
|
|
|
constant lbl = create(GtkLabel,
|
|
"color=white,markup=`Original\t\t\t\tScaled 140x240\t\t\tCopy area`")
|
|
pack_end(panel,lbl)
|
|
|
|
show_all(win)
|
|
main()
|