Как я могу сохранить изображение как RelativeLayout

1

Как сохранить относительный макет в виде растрового изображения....? во время выполнения я добавляю изображения к относительной компоновке.. тогда как сохранить его как изображение растрового изображения.

У меня нет идеи по этой концепции... Пожалуйста, предложите решения для этого.

Спасибо.

  • 0
    сделайте снимок и сохраните его как растровое изображение и сохраните как изображение в виде sdcard
  • 0
    Привет SubbaReddy ... спасибо за ваш ответ ....
Показать ещё 1 комментарий
Теги:

2 ответа

7
Лучший ответ

Создайте XML файл:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
       android:id="@+id/rlid"
       android:layout_width="fill_parent"
       android:layout_height="fill_parent"/>

Затем в вашей деятельности используйте этот код:

View content = findViewById(R.id.rlid);
content.setDrawingCacheEnabled(true);
Bitmap bitmap = content.getDrawingCache();
File file = new File("/sdcard/" + yourimagename + ".png");
try {
    if (!file.exists()) {
        file.createNewFile();
    }
    FileOutputStream ostream = new FileOutputStream(file);
    bitmap.compress(CompressFormat.PNG, 10, ostream);
    ostream.close();
    content.invalidate();
} catch (Exception e) {
    e.printStackTrace();
} finally {
        content.setDrawingCacheEnabled(false);
}
  • 0
    Я пробовал это, но есть ошибка в file.createNewFile ();
  • 0
    @MMakati в чем ошибка?
Показать ещё 5 комментариев
0

попробуйте это: поместите одну кнопку в относительный макет, а затем выполните этот процесс, как изображение, сохраненное на SD-карте

        btn1.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            view.setDrawingCacheEnabled(true);
            view.buildDrawingCache();
            bm = view.getDrawingCache();

            String root = Environment.getExternalStorageDirectory()
                    .toString();
            File myDir = new File(root + "/_images");
            myDir.mkdirs();
            Random generator = new Random();
            int n = 10000;
            n = generator.nextInt(n);
            String fname = "Image-" + n + ".jpg";
            file = new File(myDir, fname);

            Log.i(TAG, "" + file);

            if (file.exists())
                file.delete();
            try {
                FileOutputStream out = new FileOutputStream(file);
                bm.compress(Bitmap.CompressFormat.JPEG, 90, out);
                out.flush();
                out.close();

            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    });
  • 0
    mapview .... что это за переменная ..?
  • 0
    исключение .... в bm = mapview.getDrawingCache (); линия..
Показать ещё 5 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню