App inventor 2 en español
Cómo programar los teléfonos móviles con Android
mediante App inventor 2 - Juan Antonio Villalpando
-- Tutorial de iniciación de App Inventor 2 en español --
Volver al índice del tutorial
___________________________
51C2.- Obtener el nivel de color verde de una línea horizontal y mostrarla en un gráfico.
p51C2_decimal_rva_grafico.aia
- Presentación.
- Este tutorial está basado en el anterior, es decir obtener los niveles RVA de los píxeles de una imagen.
- En este caso es la contestación a una pregunta que me hicieron en los foros.
- Se trata de que disponemos de esta imagen:
- Se quiere obtener los niveles de Verde de la línea central horizontal de la imagen:
- Y esos niveles de Verde mostrarlo en una gráfica.
- Ponemos en un Lienzo1 la imagen mediante su Propiedad ImagenDeFondo.
- Mediante el Bloque TomarColorDeFondoDelPíxel, obtenemos el valor decimal del color que tocamos en la pantalla.
- Nos dará un número decimal de la forma -14567444, ese número lo debemos convertir a su color correspondiente de Rojo, Verde y Azul.
- Para obtenerlo se utiliza algoritmos, podemos buscar en internet: convert decimal to rgb. |
|
Sub ConvertLongToRGB(ByVal Value As Long, R As Byte, G As Byte, B As Byte)
R = Value Mod 256
G = Int(Value / 256) Mod 256
B = Int(Value / 256 / 256) Mod 256
End Sub
Color = RVA - 16777216
- Si los colores son R = 240, V = 130 y A = 80
- Color = -1.015.216
- Además pondremos otro Lienzo2, donde se mostrará el gráfico.
- El Lienzo2, tiene una altura de 300 pixeles, ColorDePintura: verde.
_________________
- Diseño.
_________________
- Bloques.
_________________
- Comentarios.
- Vamos tomando cada punto x del dibujo. El valor de x evoluciona mediante el Reloj. Tomará x hasta que se llegue al extremo del Lienzo2.
- La altura de la imagen será su línea central horizontal, por eso he puesto Lienzo1.Alto/2
- Se toma el color de cada pixel horizontal y se descompone en sus valores RVA, como vimos en el tutorial anterior.
- Nos interesas principalmente los valores de Verde, es el color que queremos graficar.
- Lo dibujamos mediante el bloque Lienzo2.DibujarLínea.
- Fíjate que en la vertical en vez de poner V, ponemos 255 - V, eso es porque el valor máximo de V está arriba y el menor abajo.
- Obtendremos:
__________________________________
|