elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Imagenes aleatorias
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Imagenes aleatorias  (Leído 4,433 veces)
nolasco281


Desconectado Desconectado

Mensajes: 319


Ver Perfil
Imagenes aleatorias
« en: 3 Agosto 2015, 09:15 am »

Hola como estan.

Como dice en el tema no se como mostrar imagenes alearioas en un label.

Este es mi codigo no se como hacer cambiar la imagen

Código
  1. 'Imagenes aleatorias
  2. Dim imagenes As Integer
  3. Dim aleatorio As New Random
  4. Dim listaImagenes As New ArrayList
  5.  
  6. 'Agrego imagenes al arreglo
  7. listaImagenes.Add(My.Resources.1)
  8. listaImagenes.Add(My.Resources.2)
  9. imagen = aleatorio.Next(0, listaImagenes.Count -1)
  10. lblImagen.Image = 'Aca no se que hacer para cargar la imagen
  11.  



Hola se podra decir que ya lo resolvi de alguna manera pero me gustaria como hacer funcionar el de arriba.

Código
  1. Dim imagenes As Integer
  2. Randomize()
  3. imagenes = Int(Rnd() * 2) + 1
  4. Select Case imagenes
  5.   Case 1 : lblImagen.Image = My.Resources.1
  6.   Case 2 : lblImagen.Image = My.Resources.2
  7. End Select
  8.  

Gracias y saludos


« Última modificación: 3 Agosto 2015, 10:08 am por nolasco281 » En línea

Lo que se puede imaginar... se puede programar.
Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.885



Ver Perfil
Re: Imagenes aleatorias
« Respuesta #1 en: 3 Agosto 2015, 15:16 pm »

ya lo resolvi de alguna manera pero me gustaria como hacer funcionar el de arriba.

¿Qué complicación le encuentras al código?, solo debes usar el índice de la colección y, en caso de que estés usando Option Strict On, castear el objeto para evitar errores den tiempo de compilación.

Código
  1. Dim rnd As New Random
  2. Dim imgList As New ArrayList
  3.  
  4. With imgList
  5.    imgList.Add(...)
  6.    imgList.Add(...)
  7. End With
  8.  
  9. lblImagen.Image = DirectCast(imgList(rnd.Next(0, imgList.Count - 1)), Drawing.Image)

¿Pero hay alguna razón en especial por la que estés usando un ArrayList?, en caso contrario, deja de usarlo y simplemente utiliza un List(Of Bitmap).

Sin conocer mucho tus necesidades con esas imágenes, yo tal vez lo haría de la siguiente manera que quizás te pueda servir de algo:

Código
  1. Dim images As IEnumerable(Of DictionaryEntry) =
  2.    From resource As DictionaryEntry
  3.    In My.Resources.ResourceManager.GetResourceSet(CultureInfo.CurrentCulture, True, True).Cast(Of DictionaryEntry)()
  4.    Where TypeOf resource.Value Is Bitmap
  5.  
  6. Dim rnd As New Random
  7. Dim rndIndex As Integer = rnd.Next(0, images.Count)
  8.  
  9. With lblImagen
  10.    .Text = String.Format("Index: {0}, Name: {1}", CStr(rndIndex), CStr(images(rndIndex).Key))
  11.    .Image = DirectCast(images(rndIndex).Value, Image)
  12. End With

Dependiendo del tamaño de las imágenes (y de tus necesidades), también podrías optar por utilizar un objeto de tipo ImageList para "administrar" las imágenes tanto en tiempo de diseño como en tiempo de ejecución, sin necesidad de interactuar con más listas/objetos de por medio.

Saludos.


« Última modificación: 3 Agosto 2015, 15:22 pm por Eleкtro » En línea



nolasco281


Desconectado Desconectado

Mensajes: 319


Ver Perfil
Re: Imagenes aleatorias
« Respuesta #2 en: 3 Agosto 2015, 15:36 pm »

Citar
¿Qué complicación le encuentras al código?

no sabia como asignarle la imagen al label

Esta parte
Código
  1. lblImagen.Image = DirectCast(imgList(rnd.Next(0, imgList.Count - 1)), Drawing.Image)

Lo que pasa es que tengo dos labels y tres segmentos de carretera es decir que cuando el primer segmento desapareca y vuelva aparecer deberia ser aleatorio ya sea una recta una cuesta o una bajada

Aca solo hay dos segmentos es decir despues de que desapareca la recta puede venir otra recta o una curva o bajada. Claro despues de ese label con la curba que esta ahi.


Citar
¿Pero hay alguna razón en especial por la que estés usando un ArrayList?
Que solo me tome las imagenes que hay en el array es decir segmento1, segmento2, segmento3

Citar
Dependiendo del tamaño de las imágenes
Tama~no en que sentido peso de la imagen (kb, MB) o tama~no (ancho, largo)
Creo que es tama~no (ancho, largo)

Muchas gracias por respoder.
« Última modificación: 3 Agosto 2015, 15:42 pm por nolasco281 » En línea

Lo que se puede imaginar... se puede programar.
Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.885



Ver Perfil
Re: Imagenes aleatorias
« Respuesta #3 en: 3 Agosto 2015, 15:44 pm »

Cita de: Elektro
Dependiendo del tamaño de las imágenes
Tama~no en que sentido peso de la imagen (kb, MB) o tama~no (ancho, largo)

Me refiero al ancho y largo, que está bastante limitado al tamaño estándar de icono "grande" (aunque hoy en día los hay de 512x512 hasta 1024x1024, pero bueno...)

ImageList.ImageSize Property - MSDN

Cita de: MSDN
The Size that defines the height and width, in pixels, of the images in the list.
The default size is 16 by 16.
The maximum size is 256 by 256.

Saludos
« Última modificación: 3 Agosto 2015, 15:47 pm por Eleкtro » En línea



Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Duda Fotos Aleatorias
Programación Visual Basic
Zorrohack 5 2,411 Último mensaje 18 Septiembre 2006, 13:36 pm
por yeikos
[Solucionado] String aleatorias « 1 2 »
Programación Visual Basic
Cracky7 10 5,545 Último mensaje 18 Octubre 2010, 16:58 pm
por Elemental Code
operaciones aleatorias
Programación C/C++
m@o_614 2 5,565 Último mensaje 26 Junio 2012, 02:42 am
por maxim_o
Rutas Aleatorias
PHP
softer2 1 1,920 Último mensaje 29 Abril 2015, 14:29 pm
por MinusFour
imagenes aleatorias seguidas
Programación Visual Basic
corlo 2 1,829 Último mensaje 9 Septiembre 2020, 18:23 pm
por corlo
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines