The assumption
is, perhaps, that any drawing operations will be done to GdkDrawables, i.e.
anything in a window rendered to the screen. GtkPixBufs are
‘off-screen’, the buffers that can be draw and worked with
independently or prior to any rendering operation. My guess too is that
if a programmer needs to draw to a buffer, its better done by
rendering to it using Cairo.
To resolve this omission, I’ve examined
the Gdk source code for something useful to hack. Of the course the
right func is the above said gdk_pixbuf_fill. Now I have a usable pixel painting function that runs nicely,
having put together what might be described as the missing
gdk_pixbuf_set_pixel. Now the complement, a gdk_pixbuf_get_pixel
function, is the thing to put together. Where’s all this leading,
one might ask... to the addition of a set of pixbuf image
manipulation commands! More on this later.
Here's the screenshot,
Here's the screenshot,
And the script that built
it.
set pb1 [gnocl::pixBuf load "vyrnwy_small.png"]
set img1 [gnocl::image -image "%?$pb1"]
set box [gnocl::eventBox -child $img1]
$box configure -onMotion {
$pb1 setPixel [list %x %y] #FF0000
$img1 configure -image "%?$pb1"
gnocl::update}
gnocl::window -child $box
No comments:
Post a Comment