Explicación del programa API de captura de VB
Tengo poco talento y conocimientos, así que sólo puedo explicarlo brevemente
SourceDC = CreateDC("DISPLAY", 0, 0, 0)
' Cree una pantalla con la pantalla como escena del dispositivo de origen
DestDC = CreateCompatibleDC(SourceDC)
'Crea una escena del dispositivo en la memoria que sea coherente con la escena del dispositivo que acaba de crear
Bhandle = CreateCompatibleBitmap(SourceDC, 400, 300) 'Configuración del área de visualización
'Crea un mapa de bits en la memoria que sea compatible con la escena del dispositivo recién creada
SelectObject DestDC, Bhandle
'Esta oración es un poco difícil de entender, así que no diré tonterías. Te mostraré la descripción de la API más adelante
BitBlt DestDC, 100, 100, 400,. 300, SourceDC, 0, 0, amp; HCC0020 'Configurar área de imagen de captura
'Copiar mapa de bits entre dos escenas de dispositivo (DestDC y SourceDC)
Wnd = Screen.ActiveForm.hwnd
OpenClipboard Wnd
EmptyClipboard
SetClipboardData 2, Bhandle
CloseClipboard
'Este párrafo es para la operación del portapapeles, y no hay instrucciones relevantes en mi herramienta API
'La idea general es colocar el mapa de bits recién creado en la memoria en el portapapeles
DeleteDC DestDC
'Eliminar una escena de dispositivo
ReleaseDC Dhandle, SourceDC
'Liberar una escena de dispositivo en la memoria
Picture1.Picture = Clipboard.GetData()
'Esta oración no es necesaria Explicación, descargue el mapa de bits en el portapapeles a Imagen1
===================== ====
Las siguientes son las instrucciones relevantes que encontré en la herramienta API, espero que te sean útiles
CreateDC
Instrucciones p>
Crear dispositivos para escenas de dispositivos especializados
Valor de retorno
Identificador de escena de dispositivo nuevo y largo, cero si se produce un error
Otros
Antes de dibujar, primero seleccione un mapa de bits para la escena de este dispositivo. Cuando ya no sea necesaria, la escena del dispositivo se puede eliminar con la función DeleteDC. Antes de la eliminación, todos sus objetos deben restaurarse a su estado original. Si hay una configuración inicial del dispositivo, puede usar la función API DocumentProperties
para cargar la estructura DEVMODE.
Tenga cuidado al utilizar escenas del dispositivo de pantalla (DISPLAY), ya que puede interferir con la apariencia de otras aplicaciones
Ejemplo: dibuje un rectángulo cerca de la esquina superior izquierda de la pantalla
dcamp; CreateDCBynum("DISPLAY ", vbNullString,
vbNullString, 0)
dlamp; = Rectángulo(dcamp; , 5, 5, 100, 100)
Parámetro list
lpDriverName --- Cadena, use vbNullString para pasar un valor nulo a este parámetro, a menos que: 1. Use DISPLAY para obtener la escena del dispositivo de toda la pantalla 2. Use WINSPOOL para acceder al controlador de impresión <; /p>
lpDeviceName --- Cadena, el nombre del dispositivo especializado utilizado. Este nombre lo asigna y muestra el administrador de impresión
lpOutput ------- String, use vbNullString para pasar un valor nulo a este parámetro
lpInitData ----- DEVMODE , esta estructura guarda el valor inicial. Pasar un valor 0 (NULL) con CreateDCBynum aplica la configuración predeterminada
CreateCompatibleDC
Descripción
Crea una escena de dispositivo de memoria consistente con una escena de dispositivo específica
Valor de retorno
Identificador largo y nuevo de escena del dispositivo, cero si ocurre un error
Otros
Antes de dibujar, primero debe seleccionar la escena del dispositivo Definir un mapa de bits. Cuando ya no sea necesaria, la escena del dispositivo se puede eliminar con la función DeleteDC. Antes de eliminarlos, todos sus objetos deben restaurarse a su estado inicial
Lista de parámetros
hdc -------------------- - Mango largo para escena del dispositivo. Las nuevas escenas del dispositivo serán consistentes con esto. También puede ser 0 para crear una escena de dispositivo consistente con la pantalla
CreateCompatibleBitmap
Descripción
Crea un mapa de bits dependiente del dispositivo que corresponde al dispositivo especificado Compatible con el escenario
Valor de retorno
Largo, el identificador de mapa de bits se devuelve si la ejecución es exitosa, cero indica falla
Otros
El dispositivo de memoria El escenario es el mismo que Compatible con mapas de bits en color y también con mapas de bits monocromáticos. El propósito de esta función es crear una escena que sea compatible con la escena actualmente seleccionada en hdc. Para una escena de memoria, el mapa de bits predeterminado es monocromático. Si la escena del dispositivo de memoria tiene una DIBSección seleccionada, esta función devolverá un identificador a la DIBSección. Si hdc es un mapa de bits del dispositivo, entonces el mapa de bits resultante debe ser compatible con el dispositivo (es decir, el mapa de bits en color generado por un dispositivo en color debe ser un mapa de bits en color)
Si nWidth y nHeight son cero, devuelve El mapa de bits es un mapa de bits monocromático 1×1
Una vez que el mapa de bits ya no sea necesario, asegúrese de utilizar la función DeleteObject para liberar la memoria y los recursos que ocupa
Lista de parámetros p >
hdc ------------ Largo, identificador de la escena del dispositivo
nWidth --------- Largo, ancho de mapa de bits, en píxeles
nHeight -------- Largo, alto de mapa de bits, en píxeles
SelectObject
Descripción
Cada Cada escena de dispositivo puede tener objetos gráficos seleccionados en él. Estos incluyen mapas de bits, pinceles, fuentes, pinceles, áreas y más. Sólo se puede seleccionar un objeto a la vez en la escena del equipo.
Los objetos seleccionados se utilizan en operaciones de dibujo en la escena del dispositivo. Por ejemplo, el pincel seleccionado actualmente determina el color y el estilo de los segmentos de línea dibujados en la escena del dispositivo.
Valor de retorno
Largo, un objeto del mismo tipo de objeto que el seleccionado previamente en la escena del dispositivo El identificador, cero indica un error. Si el objeto seleccionado es una región, el resultado es una de las siguientes constantes: SIMPLEREGION,
COMPLEXREGION o NULLREGION describe la región, GDI_ERROR indica un error
Otro
El valor de retorno se usa generalmente para obtener el valor original del objeto seleccionado en el DC. Una vez completada la operación de dibujo, el objeto original generalmente se vuelve a seleccionar en la escena del dispositivo. Antes de borrar una escena de dispositivo, asegúrese de restaurar el objeto original
Tabla de parámetros
hdc ------------ Largo, el identificador de una escena de dispositivo
hObject -------- Largo, un identificador de lápiz, mapa de bits, pincel, fuente o área
BitBlt
Descripción
Copia un mapa de bits de una escena de dispositivo a otra. El DC de origen y el de destino deben ser compatibles entre sí.
Valor de retorno
Largo, distinto de cero significa éxito, cero significa fracaso. GetLastError se configurará
Otros
En el entorno NT, si una transferencia mundial requiere cortar o rotar en la escena del dispositivo de origen, la ejecución de esta función fallará
p>
Si la relación de mapeo entre el objetivo y el DC de origen requiere que el tamaño de los píxeles en el rectángulo se cambie durante el proceso de transmisión, entonces esta función escalará, rotará, doblará o cortará automáticamente según sea necesario para completar el proceso de transmisión final p>
Tabla de parámetros
hDestDC -------- Escenario largo del dispositivo de destino
x, y -- ---------- Largo, el punto que describe la posición de la esquina superior izquierda del rectángulo de destino en el DC de destino. Representado por las coordenadas lógicas del DC objetivo
nWidth, nHeight - Long, el ancho y alto de la imagen a transmitir
hSrcDC --------- Long , la escena del dispositivo fuente. Si la operación ráster no especifica una fuente, se debe establecer en 0
xSrc, ySrc ------ Largo, el punto que describe la posición de la esquina superior izquierda del rectángulo de origen en el fuente CC. Representado por las coordenadas lógicas del DC de origen
dwRop ---------- Long, la operación ráster que se realizará durante el proceso de transmisión
(Insertar: amp ; HCC0020 debe ser una constante para operaciones ráster vbSrcCopy)
DeleteDC
Descripción
Elimina la escena del dispositivo dedicada o la escena de información y libera todos los recursos de ventana relacionados. No lo utilice para escenarios de dispositivos recuperados por la función GetDC
Valor de retorno
Largo, distinto de cero si la ejecución es exitosa y cero si la ejecución falla
Otros
Si hay objetos seleccionados en la escena del dispositivo, deben seleccionarse antes de llamar a esta función.
Para este propósito, puede volver a seleccionar el objeto inicial en el DC o puede usar SaveDC. La función RestoreDC restaura el DC al estado en el que se encontraba cuando se creó.
Úselo en vb
No lo use para el identificador de escena del dispositivo obtenido por el atributo vb hdc
Tabla de parámetros
hdc ------------ Largo , la escena del dispositivo que se eliminará
ReleaseDC
Descripción
Libera la escena del dispositivo especificada obtenida llamando a la función GetDC o GetWindowDC. No tiene ningún efecto en escenarios de clase o dispositivo privado (pero dicha llamada no causará daño)
Valor de retorno
Largo, 1 si la ejecución es exitosa, 0 en caso contrario
Otros
Para escenarios de dispositivos generados por funciones de creación de DC como CreateDC, no utilice esta función
Lista de parámetros
hwnd ---- - ------ Largo, el identificador de ventana relacionado con la escena del dispositivo que se liberará
hdc ------------ Largo, el identificador de escena del dispositivo que se liberará