Puedo usar el siguiente código para inicializar mi mapa de bits variable:

Bitmap bitmap = ((BitmapDrawable)this.model.gameView.context.getResources().getDrawable(R.drawable.pic1)).getBitmap();

Cuando trato de iniciar sesión con la misma anchura de mapa de bits, el registro no incluso de salida de cualquier cosa para que la llame.

Sé que es lo que hace a esa línea, porque he trazado el código.

También, cuando trato de hacer el lienzo.dibujar el mapa de bits, nada se dibuja en la pantalla.

Todo lo que puedo dibujar rectángulos funciona bien.

Mi foto de recursos es un PNG.

Cualquier ayuda es muy apreciada.

InformationsquelleAutor a_schimpf | 2012-08-09

3 Comentarios

  1. 2

    Intentar algo como esto para su clase de mapa de bits.

    public class DrawBitmap extends View
    {
        Bitmap bitmap;
    
        public DrawBitmap(Context content)
        {
            super(content);
    
            bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.pic1);
        }
    
        @Override
        protected void onDraw(Canvas canvas)
        {
            super.onDraw(canvas);
            canvas.drawColor(Color.BLACK);//whatever color you want, make sure it's not the same as your image
            canvas.drawBitmap(bitmap, (canvas.getWidth()), 0, null);
        }
    }

    La Clase Principal De La

    public class Main extends Activity 
    {
    
        DrawBitmap myView;
    
        @Override
        public void onCreate(Bundle savedInstanceState) 
        {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
    
            myView = new DrawBitmap(this);
            setContentView(myView);
        }
    }
  2. 1

    Trate de usar BitmapFactory.decodeResource
    Eche un vistazo a la respuesta en este tema:
    Cómo convertir una Imagen a un mapa de bits?

    • Sí, he probado este en primera, y lo hizo de nuevo, y se está comportando de la misma manera.
    • No trate de manejo de excepciones en el código? Tal vez su imagen png no está en el lugar correcto en la carpeta de recursos. Sugiero comprobar si se lanza un Recurso No se Encontró excepción.
  3. 0

    Sólo lo imaginé. No tenía nada que ver con el método de mapa de bits de carga que se utilizan.
    Fue un error lógico de mi parte. Mi código accidentalmente a un caso en el que mi mapa de bits convierte en nulo, y que trató de dibujar el recurso null en el lienzo.

Dejar respuesta

Please enter your comment!
Please enter your name here