Подтвердить что ты не робот

Android сохранить просмотр в jpg или png

Я хотел бы написать приложение для Android, которое в основном накладывает наложение на изображение на другое изображение, а затем я хотел бы сохранить изображение с наложением в виде jpg или png. В основном это будет весь взгляд, который я хотел бы сохранить.

Пример кода будет очень полезен.

EDIT:

Я опробовал ваши предложения и получаю нулевой указатель на выделенной строке.

 import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;

import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.Bitmap.CompressFormat;
import android.os.Bundle;
import android.os.Environment;
import android.widget.LinearLayout;
import android.widget.TextView;

    public class EditPhoto extends Activity {
        /** Called when the activity is first created. */
     LinearLayout ll = null;
     TextView tv = null;
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            tv = (TextView) findViewById(R.id.text);
            ll = (LinearLayout) findViewById(R.id.layout);
            ll.setDrawingCacheEnabled(true);
            Bitmap b = ll.getDrawingCache();
            File sdCard = Environment.getExternalStorageDirectory();
            File file = new File(sdCard, "image.jpg");
            FileOutputStream fos;
      try {
       fos = new FileOutputStream(file);
       *** b.compress(CompressFormat.JPEG, 95,fos);
      } catch (FileNotFoundException e) {
       // TODO Auto-generated catch block
       e.printStackTrace();
      }

        }
    }
4b9b3361

Ответ 1

Вы можете использовать кеш чертежа View.

view.setDrawingCacheEnabled(true);
Bitmap b = view.getDrawingCache();
b.compress(CompressFormat.JPEG, 95, new FileOutputStream("/some/location/image.jpg"));

Где вид - ваш вид. 95 - качество сжатия JPG. И поток вывода файла - это просто.

Ответ 2

File sdCard = Environment.getExternalStorageDirectory();
File file = new File(sdCard, "image.jpg");
FileOutputStream fos = new FileOutputStream(file);

Используйте ссылку fos в качестве третьего параметра метода b.compress() в ответе Moncader. Изображение будет сохранено как image.jpg в корневом каталоге вашей SD-карты.