2012-03-01 15 views
0

ここでアンドロイドで画像をビューに変換すると、エラーが発生してアプリケーションが終了しますが、createbitmap関数のハードコードされたフィールドを書き込むと、 。アンドロイドで画像を変換する際にエラーが発生しました

public static Bitmap loadBitmapFromView (View v) { 
     Bitmap b,bitmap; 
    int iwidth = 1435; 
    int iheight=435; 
     try 
     {b = Bitmap.createBitmap(iwidth, iheight, Bitmap.Config.ARGB_8888); 
     //error in next line 
     b = Bitmap.createBitmap(v.getWidth(), v.getHeight(),Bitmap.Config.ARGB_8888);     
     return b; 
     } 
     catch (Exception e) { 
     Log.v("error", e.getMessage()); 
      return bitmap=null; 
     } 

答えて

0

あの、暗闇の中でいくつかのショット:

-Areビューがnullでなく、あなたが呼び出し時に取り出すことができ、幅と高さを持っているあなたは確か? View vがnullの場合、最初はエラーをスローするか、nullを返します。

- メソッドgetWidth()は、の最後の intを返します。私はJavaの専門家ではないが、おそらく何かを混乱させているので、iWidthとiheightをgetWidth()とgetHeight()に設定してから動作するかどうか確認してみてください。

+0

はい私はloadBitmapFromView関数のパラメータとしてビューを渡してビットマップを返します 実際には上側のコードは次のようになります: View drawView; ペイントペイント=新しいペイント(); キャンバスキャンバス; drawView =新しい図面(これ); – user1161960

+0

あなたは 'v.getWidth()、v.getHeight()'という行にエラーがあると言っていますので、それが問題であると仮定しています。動作するラインと違うラインとの唯一の違いは、ビューから高さ/幅を取得することです。だから、その行から駄目をデバッグし、それがなぜ失敗しているのかを見てください。私はちょうど2つの提案をしました。 – AJcodez

関連する問題