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

Crea tu propia plantilla de proyectos

En un post anterior [Crear plantillas personalizadas para Netbeans] vimos una forma sencilla que tiene Netbeans para fac[...]

Uso de BorderPane

BorderPane es un layout que distribuye los nodos hijos en 5 posiciones TOP, LEFT, BOTTOM, RIGHT y CENTER Los nodos hijos[...]

Convierte tus dibujos web en Código HTML

Sketch2Code es un proyecto de Microsoft el cual usa IA (Inteligencia Artificial) para transformar el diseño de una inter[...]

Como hacer una factura en Java (Proyecto)

Tiempo atras me pidieron un ejemplo de como realizar un reporte con iReport tipo factura, recibo o como le llamen, compl[...]

¿Como paginar con Laravel 11?

Se utiliza la paginación para poder mostrar al usuario una gran cantidad de datos de una forma ordenada en forma de «pag[...]

Cifrado del Cesar en C Sharp

En criptografía, el cifrado César, también conocido como cifrado por desplazamiento, código de César o desplazamiento de[...]