SoloCodigo
Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado 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.
-
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)
-
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.
-
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
-
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.