ビューを画像として保存しようとしています。いくつかの作業を行いましたが、エラーは表示されませんが、画像が保存されている場所 (またはギャラリー) を見つけることができます。イメージはまったく作成されていますか、それとも他の問題がありますか? オプションメニューから赤を押すと、画像が保存されます。
case R.id.red:
DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
Date date = new Date();
String FILENAME="Boenka";
FileOutputStream fos = null;
try {
fos = openFileOutput(FILENAME, Context.MODE_WORLD_READABLE);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
parent.setDrawingCacheEnabled(true);
Bitmap bitmap = Bitmap.createBitmap( parent.getWidth(), parent.getHeight(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
parent.draw(canvas);
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, fos);
return true;
これが私のメインです - Draw クラス
public class Draw extends Activity {
DrawView drawView;
SignatureView signature;
private RelativeLayout parent;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
parent = (RelativeLayout) findViewById(R.id.signImageParent);
signature = new SignatureView(getApplicationContext(), null);
signature.setColor(Color.MAGENTA);
parent.addView(signature);
}
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.my_options_menu, menu);
return true;
}
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.clear:
signature.clear();
return true;
case R.id.red:
DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
Date date = new Date();
String FILENAME="Boenka";
FileOutputStream fos = null;
try {
fos = openFileOutput(FILENAME, Context.MODE_WORLD_READABLE);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
parent.setDrawingCacheEnabled(true);
Bitmap bitmap = Bitmap.createBitmap( parent.getWidth(), parent.getHeight(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
parent.draw(canvas);
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, fos);
return true;
case R.id.blue:
signature.setColor(Color.BLUE);
return true;
case R.id.yellow:
signature.setColor(Color.YELLOW);
return true;
default:
return super.onOptionsItemSelected(item);
}
}
@Override
public void onBackPressed() {
this.finish();
super.onBackPressed();
}
}