Spanish cambiar imagen en un imagebox en tiempo real

perezriveracarlos

Member
Licensed User
Longtime User
Buenas companys.

Pues estoy intentando cambiar la foro segun un dato en un archivo de configuracion, estas fotos las tengo en la carpeta root, pero me peta.
Uso este codigo en el Activity_CReate, pero da igual antes o despues de cargar el Layout
local es un nombre de archivo, pero solo el nombre por eso le añado el .png

B4X:
   Dim imagen = local & ".png"
   imageview1.Bitmap = LoadBitmap(File.DirRootExternal,imagen)

la cuestion es que no se que mas hacer.

Si alguien pudiera echarme una mano se lo agraceceria.

Gracies
 

desof

Well-Known Member
Licensed User
Longtime User
Buenas companys.

Pues estoy intentando cambiar la foro segun un dato en un archivo de configuracion, estas fotos las tengo en la carpeta root, pero me peta.
Uso este codigo en el Activity_CReate, pero da igual antes o despues de cargar el Layout
local es un nombre de archivo, pero solo el nombre por eso le añado el .png

B4X:
   Dim imagen = local & ".png"
   imageview1.Bitmap = LoadBitmap(File.DirRootExternal,imagen)

la cuestion es que no se que mas hacer.

Si alguien pudiera echarme una mano se lo agraceceria.

Gracies

Tienes un error; si tu imagen se llama local.png deberias poner asi!
B4X:
   Dim imagen as string
        IMAGEN= "loca.png"
   imageview1.Bitmap = LoadBitmap(File.DirRootExternal,imagen)

Ahora si local es una variable deberar declararla y cargarle luego el nombre de la imagen y se entiende que la imgen debera estar ubicada en el directorio.
 

perezriveracarlos

Member
Licensed User
Longtime User
Hola.

local es una variable global que tengo declarada e inicializada en, de echo, cuando debugo y veo el valor de la variable imagen sale como "local1.png"

El problema es que me salta una excepcion y no se como cambiarlo.

Any idea?
 

jota

Active Member
Licensed User
Longtime User
Cuando te peta con que error es, ¿ por el tamaño del bitmap o porque no encuentra la imagen ?

Si es por que no encuentra la imagen usa un log(file.DirRootExternal) y comprueba que realmente se aloje ahi la imagen que buscas

Si el error es por tamaño "y aunque no lo sea" es conveniente usar LoadBitmapSample para evitar problemas de memoria.

Saludos
 

desof

Well-Known Member
Licensed User
Longtime User
la verdad yo soy nuevo en esto pero estas seguro que V4A soporta declarar la variable y asignarla en la misma linea como tu haces?
 

perezriveracarlos

Member
Licensed User
Longtime User
Buenas.

Ya tengo el tema solucionado :), he estado un poco liado y no he podido contestar.
:wav:

Contestando a las preguntas: Si se puede declarar e inicializar en una sola linea.

El tema es que como es un logo de inicio, hay que hacerlo después del Activity.loadlayout que lo hago en otra funcion después de cargar unos datos.

Llamada

B4X:
.
.
.
Activity.LoadLayout("inicio")
Cargar_imagen
.
.
.


Funcion

B4X:
Sub Cargar_imagen
Try
    Dim imagen As String 
    imagen = local & ".png"
    imageview1.Bitmap = (LoadBitmapSample(File.DirRootExternal,imagen,300dip, 300dip))
Catch
End Try
End Sub

Con esto me funciona perfecto.

Espero que le sirva a alguien.

Gracias a todos
 
Top