アプリに ImageView があり、「ここをクリックして画像を保存する」というボタンもあります。ボタンが何をするべきかは一目瞭然です。SDカードの新しいフォルダーにImageViewを保存することになっています。これを実現できるコードについては、あらゆる場所で調べてきました。似たようなものをいくつか見つけましたが、私にはうまくいきません。誰かが私が何をする必要があるかを理解するのを手伝ってくれれば、またはどのコードが機能するかを知っていれば、それは私にとって大きな助けになるでしょう. ありがとう!
質問する
792 次
2 に答える
0
ジョブを完了するために使用できるワークフローは次のとおりです。
- ボタンをクリックすると、 onClick(View) が起動されます (XML 経由で問題ありません)。
- onClick(View) は、ImageView からビットマップを取得する必要があります。
- さらに、ビットマップを取得したら、それを 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 に答える