On 6/25/05, Petr Krenzelok <[EMAIL PROTECTED]> wrote:
>=20
> Carl Read wrote:
>=20
> >Hi all,
> >
> >If you have a transparent face in View, it can be used to grab an image =
of the faces under it.  However, I can only get this to work on a layout in=
 an open window - when I attempt it on layout, all I get is a black image.
> >
> >Here's an example of this:  Just run it, click on the "Grab Area" button=
 and you'll see what I mean...
> >
> >
> >rebol []
> >lo: layout [
> >    title "Grab area test."
> >    at 30x20
> >    b: box 80x30 with [color: none] ; Transparent box.
> >    button "Grab Area" [
> >        window-grab: to-image b
> >        unview/all
> >    ]
> >]
> >lo-grab: to-image b
> >
> >
>=20
> Look, I am no guru at View, but imo following happens. Feel free to
> correct me eventually:
>=20
> you create snapshot of  'b (lo-grab), even before it is being shown for
> the first time. Imo layout just defines structures, but does not apply
> effect, until the face is actually shown.=20

Pekr, if you continue at that pace, you will be guru shortly ;)
And the solution is:
You can show things without viewing them.
That forces /view to paint into the internal buffers.
A to-image just dumps these buffers, without a 'show there is just black. S=
o

!>> lo: layout [
[       title "Grab area test."
[       at 30x20
[       b: box 80x30 with [color: none] ; Transparent box.
[       button "Grab Area" [
[               window-grab: to-image b
[               unview/all
[           ]
[    ]
!>> show lo
; ^^^^^^^^!!!!!!!!!
!>> lo-grab: to-image lo     =20
=3D=3D make image! [220x102 #{
C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8
C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C8C...
!>> view layout[image lo-grab]

> But - even if you first apply
> "view lo" and then "lo-grab: to-image b", you apply 'unview after the
> button press. 'lo object still remains in memory, but who knows what
> 'unview causes internally.
>=20
> Better ask some guru ...
>=20
> -pekr-
>=20
> >view lo
> >view layout [
> >    backdrop green
> >    text "Image grab from layout..."
> >    image lo-grab
> >    text "Image grab from window..."
> >    image window-grab
> >]
> >
> >
> >So, is there a way to do this on just a layout?
> >
> >Thanks in advance,
> >
> >-- Carl Read.
> >
> >
> >
>=20
> --
> To unsubscribe from the list, just send an email to
> lists at rebol.com with unsubscribe as the subject.
>=20
>=20


--=20
-Volker

"Any problem in computer science can be solved with another layer of
indirection. But that usually will create another problem." David
Wheeler
-- 
To unsubscribe from the list, just send an email to 
lists at rebol.com with unsubscribe as the subject.

Reply via email to