Tôi có một ứng dụng máy ảnh tùy chỉnh được sử dụng để chụp ảnh và cắt chúng thành hình vuông, bây giờ tôi muốn biết cách viết dữ liệu Exif cho hình ảnh đầu ra cuối cùng (đặc biệt hướng)Làm thế nào để viết Exif Data bằng cách sử dụng Custom Camera Class trong Android?
Đây là những phần quan trọng của mã của tôi:
captureButton = (Button) findViewById(R.id.button_capture);
captureButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// Take a picture
mCamera.takePicture(null, null, mPicture);
}
});
và đây là cuộc gọi trở lại chức năng:
PictureCallback mPicture = new PictureCallback() {
@Override
public void onPictureTaken(byte[] data, Camera camera) {
File pictureFile = getOutputMediaFile();
if (pictureFile == null) {
return;
}
try {
FileOutputStream fos = new FileOutputStream(pictureFile);
fos.write(data);
fos.close();
} catch (FileNotFoundException e) {
} catch (IOException e) {
}
}
};
cập nhật: tôi thêm phần sau đây để về Phương pháp PictureTaken nhưng không có gì thay đổi:
ExifInterface exif;
exif = new ExifInterface(pictureFile.getAbsolutePath());
// Notice getOrientation method gets an Integer with the angle : 0 , 90 , 180 , 270 ..etc
exif.setAttribute(ExifInterface.TAG_ORIENTATION, String.valueOf(getOrientation()));
exif.saveAttributes();