Я хотел бы записать приложение для 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();
}
}
}
Вы можете воспользоваться кешем чертежей View.
view.setDrawingCacheEnabled(true);
Bitmap b = view.getDrawingCache();
b.compress(CompressFormat.JPEG, 95, new FileOutputStream("/some/location/image.jpg"));
Где точка зрения - это твоя точка зрения. 95 - это качество сжатия JPG. И поток вывода файла - это именно то, что вам нужно.
File sdCard = Environment.getExternalStorageDirectory();
File file = new File(sdCard, "image.jpg");
FileOutputStream fos = new FileOutputStream(file);
Используйте ссылку fos в качестве третьего параметра метода b.compress() в ответе Монкадера. Изображение будет сохранено как image.jpg в корневом каталоге вашей SD-карты.