Spanish Como Capturar pantalla y recortar

ebqlabs

Active Member
Licensed User
Hola, tengo este codigo para realizar una capturar de pantalla

B4X:
Dim Obj1, Obj2 As Reflector
    Dim bmp As Bitmap
    Dim c As Canvas

      Obj1.Target = Obj1.GetActivityBA
      Obj1.Target = Obj1.GetField("vg")
      bmp.InitializeMutable(Activity.Width, Activity.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)
    Dim Out As OutputStream
    Out = File.OpenOutput(File.DirRootExternal, "acta.png", False)
    bmp.WriteToStream(Out, 100, "PNG")
    Out.Close

Me realiza bien, me guarda la captura de pantalla pero lo que necesito es:

Realizar la captura de pantalla pero no de todo, si no que empiece de un siento punto. Quiero darle yo la dimensión de imagen que quiero capturar( es decir que empiece de una altura de 10% y termine en el 80 %, no toda la pantalla).

Saludos
 

bgsoft

Well-Known Member
Licensed User
Longtime User
Hola

No he visto lo que preguntas, pero la solución puede ser que recortes la imagen una vez realizada.

Saludos
 

bgsoft

Well-Known Member
Licensed User
Longtime User
Hola

Una pregunta, podrias meter tus objetos del activity donde estas haciendo la captura en un panel o scrollview?

Se me ha ocurrido que si te es posible, puedes cambiar el Obj1.Target a ese panel o scrollview, y el panel o scrollview lo puedes dimensionar al tamaño y altura que tu quieras y así capturarias lo que hay dentro del panel y no tendrias que recortar la imagen. Lo he probado y funciona ;)

Saludos
 
Top