Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Gradiente horizontal en el lienzo.
Se ha mejorado ligeramente el código, y también se ha introducido una variable que es responsable de la velocidad de renderizado:
El cambio de velocidad de visualización se realiza actualizando el lienzo no después de cada dibujo de la línea, sino a intervalos.
El tamaño del hueco se calcula mediante la operación aritmética "resto de la división":
Aquí he aplicado diferentes colores: he aplicado un color con transparencia (canal alfa 255) al color de fondo (canal alfa 128). Tengo una pregunta: ¿qué fórmula se utiliza para calcular el color final del píxel para los modos COLOR_FORMAT_ARGB_RAW y COLOR_FORMAT_ARGB_NORMALIZE?
Si te refieres al artículo Cálculo del color resultante, los cálculos no coinciden.
¿Dónde está el error: las constantes de color almacenan datos erróneos o la función PrintFormat funciona mal?
Aquí hay un script que muestra los colores en forma de enteros a través de PrintFormat:
Resultado de la salida:
¿Por quéclrRed se representa como0x000000FF y no como0x00FF0000? Porque el rojo es C'255,0,0'.
¿Por quéclrBlue se representa como0x00FF0000 y no como0x0000FF? Porque el azul es C'0,0,255'.
Esto es correcto. Es que ARGB tiene un formato de almacenamiento de datos diferente al de Color.
El formato de grabación debe ser el mismo: primero el canal alfa (si lo hay) y luego RGB. De acuerdo con la ayuda Tipo de registro de color azul a través de los literales:
C'0x00,0x00,0xFF'// azul
es decir, en representación entera, el color azul (sin canal alfa) debe escribirse como: 0x0000FF. Pero el script de prueba emite el color azul al revés:
Resulta que el color se escribe al revés en las constantes de color.
Resulta que el color se escribe al revés en las constantes de color.
Con COLOR_FORMAT_ARGB_RAW, el métodoTransparentLevelSet con el parámetro "0" (transparencia total) produce una casi-transparencia, pero claramente no una transparencia total.
Con COLOR_FORMAT_ARGB_RAW, el métodoTransparentLevelSet con el parámetro "0" (transparencia total) produce una casi-transparencia pero claramente no una transparencia total.
Aclaración: la transparencia residual en el nivel de transparencia "0" sólo se observa en x32. No hay transparencia residual en x64:
¿Este comportamiento del kanvas en el modo COLOR_FORMAT_ARGB_RAW es un error o una característica del dibujo en sistemas x32 y x64?
Aclaración: la transparencia residual en el nivel de transparencia "0" sólo se observa en x32. No hay transparencia residual en x64:
¿Este comportamiento del kanvas en el modo COLOR_FORMAT_ARGB_RAW es un error o una característica del dibujo en sistemas x32 y x64?