Red de conocimiento informático - Aprendizaje de código fuente - Cómo agregar una imagen semitransparente en una tableta gráfica en un lenguaje sencillo

Cómo agregar una imagen semitransparente en una tableta gráfica en un lenguaje sencillo

Utilice el módulo TrueColor para crear ventanas de color verdadero o utilice la clase GDIPlus

. Versión 2

. Escena de lienzo GP de ensamblaje, público

. Variable de ensamblaje EXSTYLE, entero

Variable de ensamblaje CREADO, valor lógico

. utilizado para la visualización de actualización de escena

. Variable de ensamblaje Identificador, número entero

. Variable de ensamblaje Transparencia del lienzo, número entero, , , 0-255

. Subrutina _Initialize, , este método se llama automáticamente al crear un objeto basado en esta clase

. Subrutina _Destroy, este método se llama automáticamente cuando se destruye un objeto basado en esta clase

. Primero se debe crear la subrutina Crear, Lógica, Pública. Devuelve verdadero en caso de éxito y falso en caso de error.

. Identificador de ventana de parámetro, entero, especifica el identificador de ventana, el subidentificador no es válido.

Tamaño de variable local, tamaño L

Coordenada de variable local, coordenada L

. Si es verdadero (crear = verdadero)

Devuelve (falso)

. Finalizar si es verdadero

Se crea = verdadero

Handle = identificador de ventana

EXSTYLE = GetWindowLong (Handle, -20)

SetWindowLong ( Mango, -20, Bit o (EXSTYLE, 524288))

Transparencia del lienzo = 255

Retorno (falso)

.255

Tomar Tamaño (Tamaño. Ancho, Tamaño. Alto)

Gráficos de lienzo Crear (Tamaño. Ancho, Tamaño. Alto)

Obtener coordenadas (Coordenada.x, Coordenada.y)

Gráficos en lienzo. CopyLayerWindow(Mango, Coordenada x, Coordenada y, Tamaño. Ancho, Tamaño. Alto, Transparencia del lienzo, 0, 0)

Retorno (verdadero)

. Subrutina Destruir, lógica, pública, devuelve verdadero en caso de éxito, falso en caso de error.

.Si es verdadero (crear = falso)

Devuelve (falso)

. Si es verdadero, finaliza el

gráfico del lienzo. Destroy ()

SetWindowLong (identificador, -20, EXSTYLE)

EXSTYLE = 0

Si se crea = False

Identificador = 0

Devoluciones (Verdadero)

. La subrutina copia los gráficos de la memoria GP al lienzo, es lógico, público, devuelve verdadero en caso de éxito, falso en caso de error.

Parámetros Gráficos de memoria GP, Gráficos de memoria GP, cuando este parámetro está vacío, continúe ejecutando los parámetros restantes

El parámetro izquierdo, entero, puede estar vacío

.

.El parámetro superior, un número entero, se puede dejar en blanco

.

El ancho del parámetro, número entero, puede estar vacío. Cuando esté vacío, se utilizará el ancho del gráfico de la memoria GP

. La altura del parámetro, número entero, está vacía. Cuando está vacía, la altura de los gráficos en la memoria de la GP

. El parámetro de transparencia, número entero, puede estar vacío

. Variable local blendFunc32bpp, conjunto de bytes

. Variable local p, número entero

. Variable local correctWidth, número entero

. Altura correcta de la variable local, número entero

. Si es verdadero (creado o no = falso)

devuelve (falso)

. Finalizar si es verdadero

blendFunc32bpp = {0, 0, 0, 0}

. OK inicio (si nulo (transparencia) = verdadero)

blendFunc32bpp[3] = 255

. Valor predeterminado

blendFunc32bpp[3] = transparencia

. Fin del juicio

p = recibir datos del conjunto de bytes (blendFunc32bpp, # tipo de entero)

. Juez de inicio (Está vacío (ancho) = verdadero)

Ancho correcto = gráfico de memoria GP. getwidth()

.Default

correctWidth = ancho

. Fin del juicio

Inicio del juicio (null(height) = true)

Altura correcta = gráfico de memoria GP. Fetch Height ()

.Valor predeterminado

Altura correcta = altura

.Fin del juicio

AlphaBlend (gráficos de lienzo. Obtener mdc ( ), Izquierda, Arriba, Ancho correcto, Alto correcto, Gráficos de memoria GP Obtener mdc (), 0, 0, Gráficos de memoria GP Obtener ancho (), GP FetchHeight (), p)

'. ------------------------------------------------ -- ---------

' StretchBlt (gráficos de pantalla. Fetch mdc (), Gráficos de objeto. FetchLeft (), Gráficos de objeto. Recuperar borde superior (), Gráficos de objeto. Obtener ancho ( ) , ObjectGraphics. Obtener altura (), gráficos de objetos. Obtener mdc (), 0, gráficos de objetos GetHeight (), 13369376)

' GdiTransparentBlt (gráficos de pantalla). (), Obtener gráficos de objetos (), Obtener gráficos de objetos (), Obtener altura (), 0, 0, Obtener gráficos de objetos.

Devolver (verdadero)

. La subrutina actualiza el lienzo, es lógico, público, devuelve verdadero en caso de éxito y falso en caso de error.

.Variable local izquierda, entero

. Variable local superior, número entero

. Variable local Ancho (width), entero

. Altura de la variable local, número entero

. Si es verdadero (creado o no = falso)

devuelve (falso)

. Fin si es verdadero

Obtener coordenadas (izquierda, arriba)

Obtener dimensiones (ancho, alto)

Forma del lienzo. Ventana de capa duplicada (identificador, izquierda, superior, ancho, alto, transparencia del lienzo, 0, 0)

Devuelve (verdadero)

. Tamaño de actualización de subrutina, lógica, público, devuelve verdadero en caso de éxito, falso en caso de error. Nota: Se borrará todo el contenido del lienzo.

.Ancho del parámetro, tipo entero

. Altura del parámetro, tipo entero

. Si es verdadero (creado o no = falso)

devuelve (falso)

. Si es verdadero, finaliza el gráfico

Canvas. Destroy ()

Gráfico de lienzo.Crear (ancho, alto)

Regresar (verdadero)

. Subrutina Obtener mdc, entero, público

Regresar (Canvas Graphics.Get mdc ())

Subrutina Establecer transparencia (establecer transparencia), lógica, pública, transparencia: 0-255<. /p>

. Transparencia del parámetro, número entero, 0-255

. Si es verdadero (crear = falso)

Devuelve (falso)

. Si es verdadero final

Transparencia del lienzo = transparencia

Devuelve (verdadero)

. Subrutina Toma transparencia, entero, público, transparencia: 0-255 (-1 = falla)

Si es verdadero (creado o no = falso)

Devuelve (-1)

. Si es verdadero, final

Regresar (transparencia del lienzo)

Subrutina Tomar tamaño, lógico, público, alrededor del borde de la ventana de estilo

. El ancho del parámetro, número entero, la referencia está vacía

. La altura del parámetro, número entero, la referencia está vacía

. Posición del rectángulo variable local, coordenadas del rectángulo

. Variable local devuelve a la izquierda, número entero

. La variable local devuelve el borde superior, número entero

. La variable local devuelve el número entero correcto

. La variable local devuelve la base, un número entero

. Devoluciones de variables locales, valor lógico

. Si es verdadero (creado o no = falso)

devuelve (falso)

. Si es verdadero, finalizar

Regresar = Obtener coordenadas rectangulares de la ventana (identificador, posición rectangular)

Regresar a la izquierda = Posición rectangular. Izquierda

Devuelve el borde superior = posición del rectángulo. TopEdge

Devuelve la posición derecha = rectángulo. Derecha

Devuelve la posición base = rectángulo. Borde inferior

Ancho = regresar a la derecha - regresar a la izquierda

Alto = regresar a abajo - regresar a arriba

Regresar (regresar)

. La subrutina "obtener tamaño", lógica, pública, no pasa por alto los bordes del estilo de la ventana.

Ancho del parámetro, número entero, la referencia admite valores NULL

. Parámetro Alto (altura), número entero, la referencia está vacía

Variable local Tamaño del rectángulo, tamaño del rectángulo

. La variable local devuelve ancho, número entero

. La variable local devuelve altura, número entero

. La variable local devuelve el borde izquierdo, un número entero

. La variable local devuelve el borde superior, un número entero

. Variable local Valor de retorno, entero

. Si es verdadero (creado o no = falso)

devuelve (falso)

. Si es verdadero, final

valor = Obtener el tamaño del rectángulo de la ventana (identificador, tamaño del rectángulo)

Regresar a la izquierda = tamaño del rectángulo. Devuelve borde superior = tamaño del rectángulo. Ladosuperior

Devuelve ancho = tamaño del rectángulo. ancho = tamaño del rectángulo. alto

ancho = tamaño del rectángulo. Ancho

Alto = tamaño del rectángulo. Altura

. Si es verdadero (valor = 0)

devuelve (falso)

. Si es verdadero, finaliza

Devuelve (verdadero)

. Subrutina Obtener coordenadas, lógicas, públicas

. Parámetro izquierdo, entero, la referencia puede ser nula

. Parámetro superior, entero, referencia está vacía

Posición de la variable local, coordenadas rectangulares

Valor de retorno de la variable local, valor lógico

. Si es verdadero (creado o no = falso)

devuelve (falso)

. Si es verdadero, finalizar

Retorno = Obtener coordenadas rectangulares de la ventana (identificador, posición)

Izquierda = posición. Borde superior = posición.borde superior

Retorno (regresar )

.Subrutina Tomar identificador, entero, público

Devolver (identificador)

. Subrutinas Borrar todo, Lógica, Pública

. Si es verdadero (creado o no = falso)

devuelve (falso)

. Si es verdadero, finaliza el gráfico

Canvas. Borrar ()

Devuelve (verdadero)