Draw a rectangle on top of an image using RGtk2?
Thanks, Michael. Just one more follow-up question. Is there other way
to get the "GdkDrawable" (here da2) without using <<- or other
assignment operation from within expose_fn? I thought
da$GetRootWindow() would work, but it does not.
da <- gtkDrawingArea()
da2 <- NULL
expose_fn <- function(widget,event,...){
img <- gdkPixbufNewFromFile("/media/wind/Pictures/kaehatu.jpg")$retval
da2 <<-widget[["window"]]
gdkDrawPixbuf(da2, gc = NULL, pixbuf=img,
event[["area"]][["x"]], event[["area"]][["y"]],
event[["area"]][["x"]], event[["area"]][["y"]],
event[["area"]][["width"]], event[["area"]][["height"]])
return(FALSE)
}
gSignalConnect(da,"expose-event",expose_fn)
w<-gtkWindow(show=F)
w$SetSizeRequest(400,300)
w$Add(da)
w$Show()
dgc <- gdkGCNew(da2)
gdkGCSetLineAttributes(dgc, line.width=2, line.style="solid","round","round")
gdkDrawRectangle(da2,dgc,FALSE,10,10,100,100)
Ronggui
2009/5/23 Michael Lawrence <mflawren at fhcrc.org>:
On Fri, May 22, 2009 at 11:27 PM, Ronggui Huang <ronggui.huang at gmail.com> wrote:
Dear all, I use gtkImageFromFile to display an image. Then I want to do some gsignal to handle mouse event. I click the mouse and move a another position and release. I can get the position of the firs click and the release position, ?then I would to draw a rectangle to display the region I have selected. I need some hints on what functions should I look for. I tried to google but don't know how.
The GtkImage widget is just for showing images. If you want to start doing interactive graphics, I'd suggest moving to the more general GtkDrawingArea widget and connecting to the expose-event signal. You can then use GdkPixbuf for loading and drawing the image onto the drawing area. And then draw a rectangle on top with gdkDrawRectangle(). See demos drawingArea and images. Michael
Thanks. -- HUANG Ronggui, Wincent PhD Candidate Dept of Public and Social Administration City University of Hong Kong Home page: http://asrr.r-forge.r-project.org/rghuang.html
______________________________________________ R-help at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.
HUANG Ronggui, Wincent PhD Candidate Dept of Public and Social Administration City University of Hong Kong Home page: http://asrr.r-forge.r-project.org/rghuang.html