[R] bitmap images in tcltk
Dirk Eddelbuettel
edd at debian.org
Tue May 6 20:53:59 CEST 2003
On Tue, May 06, 2003 at 02:24:10PM -0400, John Fox wrote:
> I'm writing a package using tcltk. Thanks to Peter Dalgaard's excellent
> work on the tcltk package, almost everything has gone very smoothly. I'm
Seconded. It is truly excellent, and cross-platform without any heachaches.
> stymied, however, by the following problem:
>
> I want to incorporate a bitmap image, stored as an xbm file, in a widget.
> To take a simple example,
>
> top <- tktoplevel()
> tkgrid(tklabel(top, bitmap="@file.xbm", fg="red"))
>
> will work as long as file.xbm is in the current directory; alternatively, I
> could specify the path to this file. The problem is that I can't figure out
> a reliable way of predicting (or discovering) where the bitmap file will
> reside when my package is installed.
>
> Any suggestions would be appreciated.
There is a much easier solution thanks to Luke's tkrplot which is available
for win32 and unix on CRAN. A simple example is
> tt <- tktoplevel()
> pl <- tkrplot(tt, function() plot(1:10, main="foo"))
> tkpack(pl)
It can do fancier stuff too by using a 'replot' feature. The example from
the help page varies a simple function by tieing a callback command and
variable from a scale to a function around tkreplot():
tt <- tktoplevel()
bb<-1
img <-tkrplot(tt, function() plot(1:20,(1:20)^bb))
f<-function(...) {
b <- as.numeric(tclvalue("bb"))
if (b != bb) {
bb <<- b
tkrreplot(img)
}
}
s <- tkscale(tt, command=f, from=0.05, to=2.00, variable="bb",
showvalue=FALSE, resolution=0.05, orient="horiz")
tkpack(img,s)
Dirk
--
Don't drink and derive. Alcohol and algebra don't mix.
More information about the R-help
mailing list