Cómo agregar una imagen semitransparente en una tableta gráfica en un lenguaje sencillo
. 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)