Visual Basic para Aplicaciones - Guardar Dibujos en VB6 "Mas dificil de lo que cree

Life is soft - evento anual de software empresarial
 
Vista:

Guardar Dibujos en VB6 "Mas dificil de lo que cree

Publicado por Renzo Salinas (7 intervenciones) el 28/02/2002 17:17:29
Explico: resulta que tengo un dibujo puesto sobre un formulario y sobre él hago una serie de actividades, principalmente le coloco otros controles image y label sobre este dibujo. Luego quiero guardar "TODO LO TRABAJADO EN ESTE DIBUJO JUNTO CON EL DIBUJO" pero con SavePicture solo guardo el dibujo que esta ontenido en el formulario.
pregunto: Como hago para guardar todas las actividades gráficas hechas sobre este dibujo...? Se puede hacer esto..?? Si no se puede, que opciones me dan para guardar esto dde modo que si quiero verla de nuevo, lo muestre con la última actividad hecha sobre el dibujo...??
A ver quien responde..
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Guardar Dibujos en VB6 1-2

Publicado por Adán (23 intervenciones) el 05/03/2002 21:14:22
...Ahhh, así la cosa cambia (y mucho), veamos, el siguiente método te servirá solamente para guardar la imagen en un formato estándar, si quieres que recuerde los controles que utilizaste (image y label) y todas sus propiedades, no te queda otra opción más que crear un archivo y colocar todos los datos en él, pero si no:
* Primero, requieres de un control CommandButton y dos controles Picture (uno para almacenar temporalmente la imagen y otro donde estás editando la imagen, este último no tiene que ser forzosamente un objeto Picture, puede ser un Form).
* A ambos controles les colocas las propiedades AutoRedraw = True, ScaleMode = 3 - Pixel, DrawMode = 13 - CopyPen.
* Coloca el siguiente código:

Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long

Private Declare Function BitBlt Lib "gdi32.dll" _
(ByVal hdcDest As Long, ByVal nXDest As Long, _
ByVal nYDest As Long, ByVal nWidth As Long, _
ByVal nHeight As Long, ByVal hdcSrc As Long, _
ByVal nXSrc As Long, ByVal nYSrc As Long, _
ByVal dwRop As Long) As Long

Private Sub GuardarImagen(arch As String)
Picture2.Move Picture1.ScaleLeft, Picture1.ScaleTop, Picture1.ScaleWidth, Picture1.ScaleHeight

BitBlt Picture2.hdc, Picture1.ScaleLeft, Picture1.ScaleTop, Picture1.ScaleWidth, Picture1.ScaleHeight, _
GetDC(Picture1.hwnd), Picture1.ScaleLeft, Picture1.ScaleTop, vbSrcCopy 'Copiamos la imagen al control Picture2

SavePicture Picture2.Image, arch
Picture2.Cls 'limpiamos la imagen

End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Guardar Dibujos en VB6 2-2

Publicado por Adán (23 intervenciones) el 05/03/2002 21:18:03
Private Sub Command1_Click()
GuardarImagen "C:\temp.bmp"
End Sub

* Si manejas un Form, sustitúyelo en lugar del Picture1
* Si te resulta incómodo manejar las dimensiones de estos controles en Pixeles, puedes utilizar control.ScaleX y control.ScaleY para transformar a pixeles los valores de posición.

Ahora, como te dije, si quieres que el archivo de imagen conserve todas las propiedades, tendrás que generar un archivo con la instrucción Open, pero esa, es otra historia.

Espero te sirva.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar