2011-07-02 21 views
0

キャンバスにcanvas.drawBitmap(bmp, 0, 0, null);のビットマップを描画しているだけで、ビットマップが表示されません。何か案は?描画後にビットマップがキャンバスに表示されない

ありがとうございました!

  Bitmap bmp = BitmapFactory.decodeFile(myfile.getPath()); 
      //Bitmap bmp = BitmapFactory.decodeStream(bis); 

      Log.i(TAG, "builded Bitmap");    
      Log.i(TAG, "scaling bitmap..."); 


      //int scale; 
      //Matrix matrix = new Matrix(); 
      //matrix.setScale(0.1F, 0.1F); 
      //if (bmp.getWidth() < bmp.getHeight()){ 
      // scale = canvas.getWidth()/bmp.getWidth(); 
      //}else{ 
      // scale = canvas.getHeight()/bmp.getHeight(); 
      //} 
      //matrix.postScale(scale, scale, bmp.getWidth(), bmp.getHeight()); 
      //matrix.postScale(0.5F, canvas.getWidth()/bmp.getWidth()); 

      //Bitmap bmp2 = Bitmap.createScaledBitmap(bmp, canvas.getWidth(), canvas.getHeight(), true); 

      //Paint p = new Paint(); 
      //p.setFilterBitmap(true); 


      //try{ 
      bmp = Bitmap.createScaledBitmap(bmp, canvas.getWidth(), canvas.getHeight(), true); 
      Log.i(TAG, "scaled"); 
      Log.i(TAG, "showing bitmap..."); 
      canvas.drawBitmap(bmp, 0, 0, null); 
      Log.i(TAG, "showed bitmap"); 

答えて

0

行を描くことはできますか? invalidate()またはpostInvalidate()を呼び出します。 http://developer.android.com/reference/android/view/View.html

をなどいくつかの例をコピーします:

読むここで描画 http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/graphics/TouchPaint.html

+0

ビットマップを描画した後に線を描くと、機能します!ビューが無効であると私は呼び出すことができません。なぜなら、ライブビューは表示されないからです。 – nomoral

0

ただの推測:

代わりに「の

ビットマップBMP = BitmapFactory.decodeFile(myfile.getPath()) ; "try"ビットマップbmp = BitmapFactory.decodeStream(..); "

+0

'BitmapFactory.decodeFile'はこのバグのための回避策です:http://code.google.com/p/android/issues/detail? id = 6066 – nomoral

+0

私はそれを知らなかった!ありがとうございました! – Chandan