como dibujar con canvas(rectangulo circulo triangulo)

Hola a todos hoy usaremos canvas en android studio con el cual haremos algunas figuras como ejemplo en este ejercicio.

NOTA: La clase Canvas representa una superficie donde podemos dibujar. Disponer de una serie de métodos que nos permiten representar líneas, círculos, texto, …Para dibujar en un Canvas necesitaremos un pincel (Paint) donde definiremos el color, grosor de trazo, transparencia.

Como Dibujar con Canvas en Android Studio (rectangulo circulo triangulo)

Vamos a suponer que sabes crear una nueva aplicación así que te pondré solo las clases que permiten dibujar pues solo es código java, en la parte gráfica no hay que tocar nada.

Dibujar un Circulo 

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(new MyView(this));
    }



    public class MyView extends View {
        public MyView(Context context) {
            super(context);
            // TODO Auto-generated constructor stub
        }

        @Override
        protected void onDraw(Canvas canvas) {
            // TODO Auto-generated method stub
            super.onDraw(canvas);
            int x = getWidth();
            int y = getHeight();
            int radius;
            radius = 100;
            Paint paint = new Paint(); // pintura o pincel
            paint.setStyle(Paint.Style.FILL); // el tipo de trazado



            // convertimos un color Hexa en un android.graphics.Color
            paint.setColor(Color.parseColor("#FF0000"));

            // pintamos un circulo rojo
            canvas.drawCircle(x / 2, y / 2, radius, paint);



        }
    }
}

 

Dibujar un Rectángulo 

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(new MyView(this));
    }



    public class MyView extends View {
        public MyView(Context context) {
            super(context);
            // TODO Auto-generated constructor stub
        }

        @Override
        protected void onDraw(Canvas canvas) {
            // TODO Auto-generated method stub
            super.onDraw(canvas);

            Paint paint = new Paint(); // pintura o pincel
            paint.setStyle(Paint.Style.FILL); // el tipo de trazado


            // convertimos un color Hexa en un android.graphics.Color
            paint.setColor(Color.parseColor("#000000"));
            // pintamos un rectangulo negro
            canvas.drawRect(50, 50, 200, 200, paint);

        }
    }
}

 

Dibujando un Triangulo 

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(new MyView(this));
    }



    public class MyView extends View {
        public MyView(Context context) {
            super(context);
            // TODO Auto-generated constructor stub
        }

        @Override
        protected void onDraw(Canvas canvas) {
            // TODO Auto-generated method stub
            super.onDraw(canvas);
            Path path = new Path();
            path.moveTo(300, 400);
            path.lineTo(600, 400);
            path.lineTo(400, 50);
            Paint paint = new Paint(); // pintura o pincel
            paint.setStyle(Paint.Style.FILL); // el tipo de trazado


            // convertimos un color Hexa en un android.graphics.Color
            paint.setColor(Color.parseColor("#0040FF"));
            // pintamos un triangulo azul
            canvas.drawPath(path, paint);


        }
    }
}

 

Revisando Código:

Para dibujar esta clase nos da ciertos parámetros para  los diferentes tipos de figuras les dejare algunos como ejemplo:

por ejemplo para un punto seria:

canvas.drawPoint

Para dibujar un rectángulo

canvas.drawRect

Y así sucesivamente según la figura que se dese dibujar.

Les recomiendo que tomen cualquiera de los ejemplos de arriba e intenten hacer las figuras que faltan, recuerden que los colores están en hexadecimal, ustedes tranquilamente pueden obtener mas colores en las herramientas online que hay en san google.

paint.setColor : Se establece el color para pintar  nuestras figuras

paint.setStyle: Nos permite hacer los diferente tipo de trazos

Esta claro que hay mas atributos, que sirven para otro tipo de ejercicios así que te dejo la documentación por si te interesa leer sobre esta clase 

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

WhatsApp chat