0

アプリに ImageView があり、「ここをクリックして画像を保存する」というボタンもあります。ボタンが何をするべきかは一目瞭然です。SDカードの新しいフォルダーにImageViewを保存することになっています。これを実現できるコードについては、あらゆる場所で調べてきました。似たようなものをいくつか見つけましたが、私にはうまくいきません。誰かが私が何をする必要があるかを理解するのを手伝ってくれれば、またはどのコードが機能するかを知っていれば、それは私にとって大きな助けになるでしょう. ありがとう!

4

2 に答える 2

0

ジョブを完了するために使用できるワークフローは次のとおりです。

  1. ボタンをクリックすると、 onClick(View) が起動されます (XML 経由で問題ありません)。
  2. onClick(View) は、ImageView からビットマップを取得する必要があります。
  3. さらに、ビットマップを取得したら、それを SDCARD に保存する必要があります。

それが少し役立つことを願っています!

于 2012-07-13T21:40:42.627 に答える
0

基本的にはBitmap、画像データから結果を取得し、それをBitmapファイルに書き出す必要があります。に配置されたコンテンツへのアクセスのレベルに応じてImageView...

raw があれば、Bitmap完了です。

画像がリソースにあった場合は、を使用BitmapFactory.decodeResource()して取得します

コンテンツがある場合は、次のようDrawableに新しいものに描画します。Bitmap

Bitmap bmp = Bitmap.createBitmap(drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight(), Config.ARGB_8888);
Canvas canvas = new Canvas(bmp); 
drawable.setBounds(0, 0, canvas.getWidth(), canvas.getHeight());
drawable.draw(canvas);

画像コンテンツへのアクセス権がない場合は、 を使用ImageView.getDrawingCache()して、表示されているコンテンツを取得しBitmapます。これを機能させるには、呼び出す必要がありますsetDrawingCacheEnabled()


を取得したらBitmap、メソッドを使用して、compress()その画像を JPG または PNG としてファイルに書き出すだけです。

于 2012-07-13T21:40:52.900 に答える