¿Tienes preguntas sobre la función VB PaintPicture?
Se aplica a:
Objetos de formulario, colecciones de formularios
Control PictureBox
Objetos de página de propiedades
Objeto de control de usuario
Dibujar archivos gráficos (.bmp, .wmf, .emf, .cur) en un formulario, PictureBox o impresora. Dibuje el contenido de un archivo de gráficos (.bmp, .wmf, .emf, .cur, .ico o .dib) en un PictureBox o una impresora. Los parámetros con nombre no son compatibles.
Sintaxis
object.PaintPicture imagen, x1, y1, ancho1, alto1, x2, y2, ancho2, alto2, código de operación
La sintaxis del método PaintPicture es la siguiente Composición de la pieza:
Descripción de la pieza
objeto Opcional. Una expresión de objeto cuyo valor es uno de los objetos de la lista "se aplica a". Si se omite el objeto, el objeto del formulario de enfoque predeterminado es el objeto.
La imagen es obligatoria. El origen de los gráficos que se dibujarán en el objeto. form o PictureBox debe ser una propiedad de imagen.
Se requieren x1, y1. Un valor de precisión simple que especifica las coordenadas de destino (eje x y eje y) para dibujar la imagen en el objeto. La propiedad ScaleMode del objeto determina la unidad de medida utilizada.
Ancho1 Opcional. Un valor de precisión simple que indica el ancho objetivo de la imagen. La propiedad ScaleMode del objeto determina la unidad de medida utilizada. Si el ancho de destino es mayor o menor que el ancho de origen (ancho2), la imagen se estirará o comprimirá adecuadamente; si se omite este parámetro, se utiliza el ancho de origen.
Altura1 Opcional. La propiedad ScaleMode del objeto determina la unidad de medida utilizada. Si la altura del objetivo es mayor o menor que la altura de la fuente (altura2), la imagen se estirará o comprimirá según la situación; si se omite este parámetro, se utiliza la altura de la fuente.
x2, y2 son opcionales. Ambos valores son valores de precisión simple que representan las coordenadas (eje x e y) de la región recortada en la imagen. La propiedad ScaleMode del objeto determina la unidad de medida utilizada. La propiedad ScaleMode del objeto determina la unidad de medida utilizada. Si se omite este parámetro, el valor predeterminado es 0.
Ancho2 Opcional. Un valor de precisión simple que representa el ancho de origen del área de recorte en la imagen. La propiedad ScaleMode del objeto determina la unidad de medida utilizada. Si se omite este parámetro, se utiliza todo el ancho de la fuente.
Altura2 Opcional. Un valor de precisión simple que representa la altura de origen de la región recortada en la imagen. La propiedad ScaleMode del objeto determina la unidad de medida utilizada. Si se omite este parámetro, se utiliza toda la altura de la fuente.
El código de operación es opcional. Es un valor o código largo, utilizado sólo por mapas de bits. Se utiliza para definir las operaciones de bits que se realizan en la imagen cuando se dibuja en un objeto (por ejemplo, el operador vbMergeCopy o vbSrcAnd). Para obtener una lista completa de constantes de operación de bits, consulte el tema Constantes RasterOp en la documentación de ayuda de Visual Basic.
Existen algunas restricciones al utilizar códigos de operación. Por ejemplo, si el recurso es un ícono o metarchivo, solo puede usar vbSrcCopy y no otros códigos de operación que interactúan con patrones (o "pinturas" en la terminología del SDK) (como MERGECOPY, PATCOPY, PATPAINT y PATINVERT) en realidad. Interactuar con la propiedad FillStyle del objetivo.
Tenga en cuenta que Opcode se utiliza para pasar operaciones de bits a mapas de bits. Asignar un valor a este parámetro al pasar otros tipos de imágenes dará como resultado un error de "Llamada a procedimiento o argumento no válido". Esta es una cuestión de diseño. Para evitar este error, establezca el parámetro Opcode en vacío para imágenes que no sean mapas de bits.
Descripción
Un mapa de bits se puede voltear horizontal o verticalmente utilizando valores negativos de altura de destino (alto1) y/o ancho de destino (ancho1).
Se puede omitir cualquiera de los varios parámetros finales opcionales. Si se omiten uno o más parámetros finales opcionales, no se puede utilizar una coma después del último parámetro especificado. Si desea especificar un parámetro opcional, primero debe especificar todos los parámetros que aparecen antes del parámetro en la sintaxis.
Tenga en cuenta que existe una sutil diferencia entre cargar un .Bmp en un control PictureBox y agregar una imagen usando la función API de Windows BitBlt(). Cuando utiliza BitBlt() en una imagen, el control PictureBox no cambia el tamaño de la imagen como lo hace con el método LoadPicture. Configurar las propiedades ScaleWidth y ScaleHeight al tamaño de la imagen tampoco funciona. Si desea cambiar el tamaño de una nueva imagen usando PictureBox después de usar BitBlt, debe realizar el trabajo de convertir unidades y manejar los bordes manualmente en su código. Aquí hay un ejemplo simple:
Sub ResizePictureBoxToImage(pic as PictureBox , twipWd _
as Integer, twipHt as Integer)
' Este código supone que todas las unidades son tee. Si
' no lo son, deben convertirse a Tee antes de llamar a esta rutina.
' Esto también supone que la imagen se muestra en 0,0.
Atenuar BorderHt como entero, BorderWd como entero
BorderWd = Pic.Width - Pic.ScaleWidth
BorderHt = Pic.Height - Pic.ScaleHeight
pic.Move pic.Left, pic.Top, twipWd + BorderWd, _
twipHt + BorderHt
End Sub
Referencia: .