viernes, 11 de noviembre de 2011

Ejemplo carga y pintado de imagenes


package com.pruebas.androidgames;

//estos dos imports son para cargar los ficheros de imagen
import java.io.IOException;
import java.io.InputStream;

import android.app.Activity;
import android.content.Context;
import android.content.res.AssetManager;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Rect;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.util.Log;

/**
 * @author Fran1
 * Ejemplo de cargar una imagen y mostrarla en pantalla
 *
*/
public class Prueba extends Activity
{           
    //creamos nuestra vista
    class RenderView extends View
    {
        //imagenes que usaremos
        Bitmap fotito;
                //rectangulo destino
        Rect dstRect = new Rect();
        //constructor
        public RenderView(Context context)
        {
            // llamamos al constructor del padre.
            super(context);
            // implementación de la parte personalizada.
            try
            {
                // intentaremos cargar un archivo de imagen y mostralo.
                // gestor para cargar recursos graficos, sonidos etc.
                AssetManager assetManager = context.getAssets();
                // stream con el fichero de imagen.
                InputStream inputStream = assetManager.open("fotito.png");
                // asignamos el bitmap por medio de la clase estatica BitmapFactory y el inputstream con el fichero.
                fotito = BitmapFactory.decodeStream(inputStream);
                // cerrar el stream, liberar recursos.
                inputStream.close();
                // mostramos la configuración.
                Log.d("bobargb8888.png", fotito.getConfig().toString());
            }
            catch(IOException ioe)
            {
               
            }
            finally
            {
                // habria que cerrar el filestream.
            }
        }
        @Override
        protected void onDraw(Canvas dstCanvas) {
            // TODO Auto-generated method stub
            super.onDraw(dstCanvas);
            //rectangulo destino
            dstRect.set(50,50,300,300);
            dstCanvas.drawBitmap(fotito, null, dstRect, null);
            invalidate();
        }       
    }
   
    // clase principal de nuevo, la que usa el renderview
    @Override
    public void onCreate(Bundle estadoGuardadoBundle)
    {
        super.onCreate(estadoGuardadoBundle);
        //quitar el titulo de la ventana.
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        //poner en modo pantalla completa.
        getWindow().setFlags(
                WindowManager.LayoutParams.FLAG_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FULLSCREEN);
        //asignar la vista, es decir lo que saldrá por pantalla.
        setContentView(new RenderView(this));       
    }
}


No hay comentarios:

Publicar un comentario