我需要做以下事情:
- 使用 Android 相机拍摄照片...
- 从图像中删除背景并放入另一个背景
- 保存
我很好地完成了这 3 个步骤... 问题是图像以小尺寸 (160 x 120) 保存。 当我从相机得到结果时,我会这样做:
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == CAMERA_REQUEST) {
Bitmap photo = (Bitmap) data.getExtras().get("data");
Log.i("Test", "Width: " + photo.getWidth() + " Height: " + photo.getHeight());
返回
Width: 160 Height: 120
我从“数据”变量中获取的图像是 1280 x 960...
如果我用
background= Bitmap.createScaledBitmap(background, 1280, 960, false);
我得到的图像质量很差...
如何获得正确大小的位图?!
最佳答案
尝试将图像写入文件,然后返回文件名作为结果:
@Override
public void onPictureTaken(byte[] data, Camera camera) {
File pictureFile = new File(filename);
try {
FileOutputStream fos = new FileOutputStream(pictureFile);
fos.write(data);
fos.close();
} catch (Exception e) {
}
Intent intent = this.getIntent();
intent.putExtra("filename", filename);
this.setResult(RESULT_OK, intent);
finish();
}
关于java - 我如何从 Android 上的相机选择的图像中获得正确的宽度和高度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12326517/