Programación General > Visual Basic 6.0 e inferiores
Como se imprime un PictureBox111?
Nebire:
--- Cita de: "Nilson Yair" ---Y una ultima...
Como dibujar en otro picture (por ejemplo Picture2) lo que esta en un picture Diferente (por ejemplo Picture1)... estoy usando metodos graficos (Lineas, puntos, circulos, rectangulos... etc.)?
Gracias... :good:
--- Fin de la cita ---
picture2.picture=picture1.image
--- Cita de: "Nilson Yair" --- Edo, mira... el codigo de esa pagina (VBHelper) solo imprime el picture en caso de que sea una imagen cargada (es decir, un dibujo cargado en el picture como GIf, BMP, JPEG, etc..) pero ocasiona un error al imprimir un picture (que no tenga imagen como BMP, GIF, etc) y que solo tenga dibujos por metodos graficos.
--- Citar ---Edo:
Printer.PaintPicture
http://www.vb-helper.com/howto_print_picture_large.html
--- Fin de la cita ---
Edo, mira... el codigo de esa pagina (VBHelper) solo imprime el picture en caso de que sea una imagen cargada (es decir, un dibujo cargado en el picture como GIf, BMP, JPEG, etc..) pero ocasiona un error al imprimir un picture (que no tenga imagen como BMP, GIF, etc) y que solo tenga dibujos por metodos graficos.
--- Fin de la cita ---
if picture1.picture=0 then picture1.picture=picture1.image
Jimbenit:
B) ... excelente, esto lo estaba buscando.... simple, no?? :lol: ...
Muchas gracias... :good:
Jimbenit:
Hola a todos... he estado mirando post anteriores que hablen sobre metodos graficos pero ninguno me contesta la siguiente pregunta:
Bueno, quiero imprimir un formulario que tenga 3 picturebox, el codigo utlizado es:
--- Código: Text ---Me.PrintForm Pero cuando el formulario se imprime, se imprime lo siguiente:
* El contenido en el formulario (quiero decir, el area correspondiente al formualrio )
* Se imprime el contenido del Picture1 (atencion, son 3 PictureBox)
* El contenido del segundo picturebox no se imprime, como tampoco el contenido del tercero
Me gustaria que se imprimiera el contenido del formulario, incluyendo el contenido de los picture, de los 3 PictureBox y no solo de uno)
Invito a hacer el siguiente ejemplo (para que se me entienda):
Coloquen en un formulario 3 PictureBox, y copien y peguen el siguiente codigo:
--- Código: Text ---Private Sub Form_Load() Me.Picture1.AutoRedraw = TrueMe.Picture1.ScaleMode = 6Me.Picture2.AutoRedraw = TrueMe.Picture2.ScaleMode = 6Me.Picture3.AutoRedraw = TrueMe.Picture3.ScaleMode = 6 Me.Picture1.Line (0, 0)-(20, 20)Me.Picture2.Line (0, 0)-(20, 20)Me.Picture3.Line (0, 0)-(20, 20) Me.PrintForm End Sub
Y solo se imprime el contenido del picture1, como hago para que se imprima el contenido de los 3 picture??
Saludos.
Jimbenit:
Bueno, aun no he podido... aun no he podido imprimir los 3 picture en el mismo formulario.
Me gustaria saber si alguno sabe, bueno o por lo menos escriban lo que piensan , aun cuando no puedan... depronto eso que piensan me ayuda a encontrar una solución. :mellow:
Nebire:
--- Cita de: "Nilson Yair" ---Bueno, aun no he podido... aun no he podido imprimir los 3 picture en el mismo formulario.
Me gustaria saber si alguno sabe, bueno o por lo menos escriban lo que piensan , aun cuando no puedan... depronto eso que piensan me ayuda a encontrar una solución. :mellow:
--- Fin de la cita ---
Mira, te he hecho una librería para capturar la ventana, o una región de la misma, captura la ventana y devuelve una imagen ahora ya simplemente imprimies la imagen. el picturebox sobre el que lo destines debería estar oculto, para no mezclar su contenido con el de una nueva y posible captura.
En el fichero se incluye tanto la librería como las intrucciones y el código para probarlo, de todos modos el código lo repito aquí así si necesitas comentar algo irá mejor...
para descargar el archivo, .... al final del mensaje está el enlace
--- Código: Visual Basic --- ' Declaraciones de API...Private Declare Function Capturar_Ventana Lib "Captura.dll" (ByVal Ventana As Form, Rect As Coord2D, Optional ByVal AreaCliente As Boolean = False, Optional ByVal ROP As RasterOpConstants = vbSrcCopy) As PicturePrivate Declare Function Version_Test Lib "Captura.dll" (Optional ByVal testVisual As Boolean = False) As String '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%' NEBIRE NEBIRE NEBIRE'()))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))')))))) Ventana= Nombre del formulario, típicamente será ME u otro. (((((((('((((( Rect = coordenadas y dimensiones de la región, por defecto es 0, ))))))))')))))) un valor negativo se trunca a 0. (((((((('((((( AreaCliente= si es false (por defecto) captura toda la ventana, ))))))))')))))) si es true= sólo el área cliente (sin el marco) ((((((('((((( ROP = son las constantes de Raster, no confundir con las constantes de )))))))')))))) shape, que sirven para lo mismo pero tiene diferente valor. ((((((('((((( --------------------------------------------------------------------------------------- )))))))')))))) Devuelve una imagen, que debería entregarse a un picture oculto. ((((((('((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((() ' Estructura tipo RECTPrivate Type Coord2D X As Long Y As Long Ancho As Long Alto As LongEnd TypeDim cDefecto As Coord2D 'para valores por defecto.... ' con parámetros por defecto, para ver ejemplos de otros parámetros en el siguiente código.Private Sub Command1_Click() Picture3.Picture = LoadPicture() Picture3.Picture = Capturar_Ventana(Me, cDefecto)End Sub Private Sub Form_Load() Command1.Caption = "Capturar form completo" Command3.Caption = "Capturar cliente negativo" Command4.Caption = "Capturar banda negativo" Command2.Caption = "test dll" Picture3.BackColor = &H0& ' negro Picture3.BorderStyle = 0 ' sin borde Picture3.AutoSize = True ' importante. ' colocar imágenes y más cosas en los otros picturebox, etc... ' tomamos valores por defecto... valores negativos fuerzan ajustarse al tamaño del formulario. With cDefecto .X = -1 .Y = -1 .Ancho = -1 .Alto = -1 End WithEnd Sub
Otros ejemplos de uso de la llamada . Pasando diferentes parámetros
--- Código: Visual Basic --- ' con todos los parámetros, se usa una operación de fusión... por defecto es vbSrcCopyPrivate Sub Command3_Click() Dim d2 As Coord2D d2.X = 0: d2.Y = 0 d2.Ancho = Me.Width: d2.Alto = Me.Height Picture3.Picture = Nothing Picture3.Picture = Capturar_Ventana(Me, d2, True, vbNotSrcCopy)End Sub ' se toma una región (banda) de arriba abajo del formulario de 2000 twips de ancho empezando en el 2000Private Sub Command4_Click() Dim d2 As Coord2D d2.X = 2000: d2.Y = 0 d2.Ancho = 4000: d2.Alto = Me.Height Picture3.Picture = Nothing Picture3.Picture = Capturar_Ventana(Me, d2, False, vbMergePaint)End Sub
Testear si la dll resulta 'visible' (vamos si encuentra la referencia)
--- Código: Visual Basic --- Private Sub Command2_Click() Dim n As String 'si la longitud de n es 0 no pasó el test. n = Version_Test If Len(n) > 0 Then MsgBox "pasó el text." n = Replace(n,chr(0),"") MsgBox "Test: " & nEnd Sub
Navegación
[#] Página Siguiente
[*] Página Anterior
Ir a la versión completa