Red de conocimiento informático - Conocimiento informático - Programación de escalamiento local

Programación de escalamiento local

¡Todo el código fuente se le proporciona, similar a la ventana de chat de QQ!

Debido a que la eficiencia de dibujo del tablero de dibujo es relativamente baja, ¡algunas imágenes grandes pueden quedar atascadas!

Preste atención al foco de la ventana al colocar otros componentes. Si el foco no está en la ventana de inicio, el evento de hacer girar la rueda de la ventana de inicio no será válido.

Versión 2. Biblioteca de soporte eAPI

. Conjunto ventana conjunto 1

. Fondo variable de ensamblaje, mesa de trabajo

. Reúna números de imágenes variables

. Valor de escala x de la variable de ensamblaje, decimal.

. Valor de escalamiento de variable de ensamblaje y, tipo decimal

. Variable ensambladora x, tipo entero

. Variable ensambladora y, tipo entero

. Las variables de ensamblaje son móviles y lógicas.

. Subrutina_ _StartWindow_Created

Borde=0

Copiar componente de ventana (Mesa de trabajo1, Fondo)

Mesa de trabajo1. Mover (0, 0, obtener el ancho del área de usuario (), obtener la altura del área de usuario ())

Fondo. Mover (0, 0, obtener el ancho del área de usuario (), obtener la altura del área de usuario ())

Mesa de trabajo 1. autoredraw=true

Backend. autoredraw=true

Diálogo general 1. Filter = "Archivo de imagen |*.jpg*.bmp*.gif*.ico "

Valor de escala x = 1

Valor de escala y = 1

Se hizo doble clic en Subroutine_Paint1_, tipo lógico.

. Parámetro posición horizontal, tipo entero

. Posición vertical del parámetro entero

Estado de la tecla de función del parámetro, tipo entero

. if true(Diálogo general 1. Abrir())

Número de imagen = Imagen cargada(Diálogo general 1. Nombre de archivo)

Dibujar()

Si realmente terminó .

Dibujo de subrutinas, tipo lógico

. Variables locales htkd

. Variable local htgd

. Si es verdadero (número de imagen = 0)

Devolver (falso)

Si es verdadero, se acabó.

Htkd = valor de escala x fondo. Obtenga el ancho de la imagen (número de imagen).

Htgd = valor de escala Y × fondo. Altura de la foto (número de imagen).

Mesa de trabajo 1. mover(0, 0, htkd, htgd)

Fondo. mover(0, 0, htkd, htgd)

Fondo. Hacer dibujos (número de imagen, 0, 0, htkd, htgd,)

Backend. Copiar (,,, Mesa de trabajo 1, 0, 0,)

Mover (,, htkd, htgd)

Regresar (Verdadero)

Subrutina_Mesa de trabajo 1_Botón izquierdo del mouse presionado, tipo lógico

. Parámetro posición horizontal, tipo entero

. Posición vertical del parámetro entero

Estado de la tecla de función del parámetro, tipo entero

Enviar información (161, 2, 0)

X = posición horizontal

Y = posición vertical

Moveable=True

CaptureMouse(Artboard1. GetWindowHandle())

. Subrutina_Sketchpad 1_Soltar botón izquierdo del ratón, tipo lógico

. Parámetro posición horizontal, tipo entero

. Posición vertical del parámetro entero

Estado de la tecla de función del parámetro, tipo entero

Soltar mouse () mover = false

Subrutina_Sketchpad 1_Posición del mouse mover, tipo lógico

. Parámetro posición horizontal, tipo entero

. Posición vertical del parámetro entero

Estado de la tecla de función del parámetro, tipo entero

Si es verdadero (móvil)

Izquierda = Obtener la posición horizontal del mouse () - INCÓGNITA.

Borde superior = toma la posición vertical del mouse ()-y.

Si realmente se acabó.

.

Subrutina_ _ Ventana de inicio _ Se desplaza la rueda, tipo lógico

Distancia de desplazamiento del parámetro, tipo entero

Estado de la tecla de función del parámetro, tipo entero

Valor de escala x = zoom valor x+distancia de desplazamiento×0,1.

Valor de escala y = valor de escala y + distancia de desplazamiento × 0,1.

Si es verdadero (valor de escala x < 0,1)

Valor de escala x = 0,1

Si es verdadero, se acabó.

. Si es verdadero (valor de escala x > 5)

Valor de escala x = 5

Si es verdadero, se acabó.

Si es verdadero (valor de escala y < 0,1)

Valor de escala y = 0,1

Si es verdadero, se acabó.

. Si es verdadero (valor de escala x > 5)

Valor de escala y = 5

Si es verdadero, se acabó.

Draw()

Texto de depuración de salida (valor de zoom x)