Aprende Java Aprende Php Aprende C++ Aprende HTML 5 Aprende JavaScript Aprende JSON Aprende MySQL Aprende SQLServer Aprende Visual Basic 6 Aprende PostgreSQL Aprende SQLite Aprende Redis Aprende Kotlin Aprende XML Aprende Linux VSC Aprende Wordpress Aprende Laravel Aprende VueJS Aprende JQuery Aprende Bootstrap Aprende Netbeans Aprende Android
Sigueme en Facebook Sigueme en Twitter Sigueme en Instagram Sigueme en Youtube Sigueme en TikTok Sigueme en Whatsapp
Home / Android / Dibujar Bitmap en Android

Dibujar Bitmap en Android

Por jc mouse martes, mayo 8, 2018

Android cuenta con una serie de herramientas en su API para el trabajo con gráficos, entre estos podemos mencionar:

  • Bitmap. Los bitmap o mapa de bits son la estructura donde se almacenan los pixeles que conforman un gráfico, este esta represento como una rejilla rectangular de puntos de color denominada matriz.
  • Canvas. Los canvas son el lienzo digital donde se dibujan los diferentes elementos como ser primitivas geométricas (círculos, rectangulos), texto e imágenes. Cuando «dibujamos» en el canvas, en realidad estamos modificando los pixeles del bitmap.
  • Paint. La clase paint nos permite indicar el estilo y formato de los elementos a dibujar, es decir, tipo de pincel, color, grosor, estilo de linea, etc.

Dicho esto, a continuación un ejemplo de la creación de un mapa de bits en android:

import android.content.res.Resources;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Path;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ImageView;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        ImageView imageView =  ((ImageView)findViewById(R.id.imageView));

        /**
         * creación de imagen
         * */

        //dimensiones de la imagen
        final int ancho = 400;
        final int alto = 400;

        //se define el mapa de bits
        Bitmap bitmap = Bitmap.createBitmap(ancho, alto, Bitmap.Config.ARGB_8888);
        //se define el lienzo
        Canvas canvas = new Canvas(bitmap);
        //estilos
        Paint paint = new Paint();
        paint.setColor(Color.parseColor("#ff950b"));
        canvas.drawPaint(paint);

        //Figura geometria
        paint.setColor(Color.parseColor("#DF3A01"));
        canvas.drawCircle(200, 200, 200, paint);

        //lineas
        paint.setColor(Color.parseColor("#ffffff"));
        paint.setStrokeWidth(6);
        canvas.drawLine(200, 0, 200, 400, paint);
        canvas.drawLine(0, 200, 400, 200, paint);

        //path
        paint.setColor(Color.parseColor("#ffff07"));
        paint.setStrokeWidth(2);
        Path path = new Path();
        path.moveTo(200, 30);
        path.lineTo(250, 120);
        path.lineTo(150, 120);
        canvas.drawPath(path, paint);

        //pintando imagen desde la carpeta de recursos
        Resources res = getResources();
        Bitmap icon = BitmapFactory.decodeResource(res, R.mipmap.ic_launcher);
        canvas.drawBitmap( icon, (ancho / 2) - (icon.getWidth() / 2.f), (alto / 2.f) - (icon.getHeight()/2.f), paint);

        //pintando texto
        paint.setAntiAlias(true);
        paint.setTextSize(54.f);
        paint.setTextAlign(Paint.Align.CENTER);
        paint.setColor(Color.parseColor("#0B0B61"));
        canvas.drawText("JC MOUSE", ancho / 2.f, (alto / 2.f) + 120, paint);

        //agrega el bitmap al ImageView
        imageView.setImageBitmap(bitmap);

    }
}

bitmap android mouse

enjoy!!!

Tags

Artículos similares

Conectar C Sharp con MySQL

Ya tengo varios post sobre conexión a base de datos en varios lenguajes y claro no podía faltar c#, el siguiente tutoria[...]

Añadir Splash Screen en Java/Netbeans

¿Splash Screen? El splash screen o traducido al aspañol 😉  es una «Pantalla de bienvenida» que se muestra cuando se ejec[...]

Procesamiento por lotes [Batch insert]

En ocasiones debemos insertar varios registros a nuestra base de datos desde nuestra aplicación java y lo que usualmente[...]

Crea un efecto Flip en java swing

Entre los correos y mensajes en facebook y whatsapp que me llegan (y de entrada pido perdón a quienes no puedo responder[...]

Gestión de Stock (Parte 2)

Continuando con el desarrollo de la aplicación (Parte 1), abrimos Netbeans y creamos un nuevo proyecto al que llamaremos[...]

SQLite: Encriptación de datos

SQLite es un sistema de gestión de bases de datos relacional,  escrita en C, si se desea hacer uso de encriptación con S[...]