SoloCodigo

Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: Pulsar en Lunes 16 de Febrero de 2004, 16:29

Título: Como Puedo Guardar Esta Imagen En Fichero???
Publicado por: Pulsar en Lunes 16 de Febrero de 2004, 16:29
Hola. He hecho un programa donde el formulario tiene un PICTUREBOX, donde realizo una serie de operaciones con APIs como GETPIXEL, SETPIXEL, y el comando LINE para hacer rectas.

  La verdad es que se trata de un programa que coge una foto (con muy pocos pixeles, p. ej: 50x56), y cada pixel lo representa dentro del picturebox como una cruz (mucho mas grande que un pixel normal) del correspondiente color del pixel. La verdad es que es un programa de Punto de Cruz que le estoy haciendo a mi mujer.

  Mi duda es que luego me gustaria guardar ese PICTUREBOX en un archivo BMP, pero por lo visto al trabajar con el comando LINE para hacer las cruces, este PICTUREBOX no contiene una imagen y me da error al usar SAVEPICTURE.

  ¿Que puedo hacer para guardarlo en BMP? ¿Una Screenshot tal vez? Es que me gustaria guardarlo directamente. Gracias.
Título: Re: Como Puedo Guardar Esta Imagen En Fichero???
Publicado por: pacegar en Lunes 16 de Febrero de 2004, 18:15
hola, prueba con los ejemplos que damos en este topic a ver si te vale...
suerte!

http://foros.solocodigo.com/index.php?show...4936&hl=pacegar (http://foros.solocodigo.com/index.php?showtopic=4936&hl=pacegar)
Título: Re: Como Puedo Guardar Esta Imagen En Fichero???
Publicado por: Pulsar en Lunes 23 de Febrero de 2004, 00:55
Hola otra vez. Muchas gracias. Ya lo consegui usando un ejemplo del programa de la pagina www.allapi.net (http://www.allapi.net) que guardaba lo que habia en un PICTURE (lo cambie pq guardaba lo q habia en un form) en otro PICTURE. Ya tengo lo que quiero.

  Ahora, tenia otra pregunta, bueno mas bien dos. Estas son:

1. Me gustaria saber si hay alguna forma de poner en un LISTBOX por ejemplo, como el codigo de un color (el LONG q devuelve la funcion RGB), seguido pues por un linea grafica del color respectivo. O si lo puedo hacer de alguna otra forma con otro control. Seria una especia asi:

Esto en una lista:

Color 0             ===   (el igual representaria un color en negro)
Color 16777215 ===   (el color blanco)
...

 Lo quiero para representar en un LISTBOX todos los colores capturados de una imagen, mediante GETPIXEL.

2. La otra pregunta es bien simple, y es q se trata q cuando cierro una aplicacion mediante el icono de la cruz arriba a la derecha de la barra del titulo, la aplicacion no se descarga de la memoria. ¿QUe evento se produce al pulsar el boton?

Muchas gracias.
Título: Re: Como Puedo Guardar Esta Imagen En Fichero???
Publicado por: Aldo en Miércoles 25 de Febrero de 2004, 18:09
Hola, creo que puedes resolver tu problema utilizando el control ImageCombo en el cual puedes agregar una imagen a cada elemnto de la lista del combo.

Debes utilizar el control ImageList en el cual debes agregar las imagenes que vas a utilizar en el ImageCombo y en el metodo Add de la Coleccion ComboItems haces referencia a la clave de la imagen que quieras agregar al Combo.

ejemplo:

cmbUsuarios.ComboItems.Add( 0 ,  , "Negro" , "ColorNegro")

objeto.Add(Index As Variant, Key As Variant, Text As Variant, Image As Variant, SelImage As Variant, Indentation As Variant) As ComboItem

En tu segunda pregunta uno de los eventos que se invocan al hacer clic en la cruz es el Unload de tu formulario
Título: Re: Como Puedo Guardar Esta Imagen En Fichero???
Publicado por: Brroz en Miércoles 25 de Febrero de 2004, 18:25
Hola Aldo.

Para lo de las imágenes en el combo, la solución también podría pasar por usar alguna técnica de subclasificación, pero te aseguro que es un tema complejo y muy pejiguero con VB.

Con respecto a lo de cerrar el form, controla el evento QueryUnload, cuyo parámetro UnloadMode te informa sobre el motivo que provoca que el formulario se descargue (se ha pulsado la 'X', se cierra por código, etc...)

Suerte.