Android сохраняет представление к jpg или png

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

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

Править:

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

 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();
      }

        }
    }
39
задан shaneburgess 23 August 2010 в 21:31
поделиться

2 ответа

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

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

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

83
ответ дан 27 November 2019 в 02:20
поделиться
File sdCard = Environment.getExternalStorageDirectory();
File file = new File(sdCard, "image.jpg");
FileOutputStream fos = new FileOutputStream(file);

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

6
ответ дан 27 November 2019 в 02:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: