2010-12-02 14 views

答えて

11

res/drawableフォルダに画像を置く必要があります。次に、R.drawable.name_of_imagename_of_image.pngまたはname_of_image.jpgの場合)を使用してアクセスできます。

元の名前でアクセスする場合は、assetsフォルダに保存してください。その後、あなたはAssetManagerを使用してそれらにアクセスすることができます

AssetManager am = getResources().getAssets(); 
try { 
    InputStream is = am.open("image.png"); 
    // use the input stream as you want 
} catch (IOException e) { 
    e.printStackTrace(); 
} 

あなたがプログラム的に作成した画像を保存したい場合は、あなたが行うことができます:

try { 
     FileOutputStream out = new FileOutputStream(context.getFilesDir().getAbsolutePath()+"/imagename.png"); 
     bmp.compress(Bitmap.CompressFormat.PNG, 100, out); 
} catch (Exception e) { 
     e.printStackTrace(); 
} 

あなたのプロジェクトディレクトリに保存することはできません。あなたが理解していないように見えるので、アンドロイドパッケージがどのように動作するかについてのドキュメントを読むことをお勧めします。

+0

ありがとうCristian、Oh no。実際にはイメージ(私がプログラムで作成したイメージ)をres/drawableディレクトリに保存したいのです。私は写真を読んで、抽出されたピクセルを次に、私はピクセルを操作しました、今私は別の名前でこのディレクトリに再び保存したい。これは私の問題です。どうすればこの新しい画像を保存できますか? – Hesam

+0

愛するクリスチャン。あなたが私に言ったように私のコードを変更しましたが、プログラムがこの行に到達すると "FileOutputStream out = new FileOutputStream(context.getFilesDir()。getAbsolutePath()+"/imagename.png ");"がクラッシュして飛び出します。 – Hesam

+0

ログカットの出力を貼り付けてください:) – Cristian

関連する問題