Sub PanelCapture(pnl As Panel)
Dim Obj1, Obj2 As Reflector
Dim bmp As Bitmap
Dim c As Canvas
Dim Testimage As Panel
Testimage.Initialize("")
Testimage.SetLayout(0,0,pnl.Width, pnl.Height)
Obj1.Target = Obj1.GetActivityBA
Obj1.Target = Obj1.GetField("vg")
bmp.InitializeMutable(pnl.left + pnl.Width, pnl.Top + pnl.Height)
c.Initialize2(bmp)
Dim args(1) As Object
Dim types(1) As String
Obj2.Target = c
Obj2.Target = Obj2.GetField("canvas")
args(0) = Obj2.Target
types(0) = "android.graphics.Canvas"
Obj1.RunMethod4("draw", args, types)
'--------------------------
'draw from image to canavas
Dim canvas1 As Canvas
canvas1.Initialize(Testimage)
Dim scrt As Rect
scrt.Initialize(pnl.left, pnl.top, pnl.Width, pnl.Height)
'scrt.Initialize(0, 0, 680, 998)
Dim rectPanel1 As Rect
rectPanel1.Initialize(pnl.left, pnl.top, pnl.Width, pnl.Height)
canvas1.DrawBitmap(bmp, scrt , rectPanel1)
Testimage.Invalidate
'here writing canvas to file
Dim Out As OutputStream
Dim MyFileName As String
Log(DateTime.Now)
MyFileName = DateTime.Now & ".jpg"
Out = File.OpenOutput(File.DirDefaultExternal , MyFileName, False)
canvas1.Bitmap.WriteToStream(Out, 100, "JPEG")
Out.Close
Log(MyFileName)
End Sub