如何使用Phonegap Android Screenshot PlugIn旋转屏幕截图

时间:2012-11-28 14:00:07

标签: java android cordova plugins exif

我正在使用Phonegap 2.20 Android Screenshot插件,它运行正常。现在我想保存旋转270°的图像 - 但我是Java / Android的新手,需要一些帮助:

我尝试按如下方式重写EXIF数据

...

SimpleDateFormat dateFormat = new SimpleDateFormat("yyyymmddhhmmss");
String filename = "Screenshot_" + dateFormat + ".png";
File f = new File(folder, filename); // System.currentTimeMillis()

//FileOutputStream fos = openFileOutput(f.getPath(), Context.MODE_PRIVATE);
FileOutputStream fos = new FileOutputStream(f);

// change image orientation to landscape                    
ExifInterface exif = new ExifInterface(filename);
exif.setAttribute(ExifInterface.TAG_ORIENTATION, "8");  // ExifInterface.ORIENTATION_ROTATE_270
exif.saveAttributes();

bitmap.compress(Bitmap.CompressFormat.PNG, 100, fos);
//fos.close();

//Log.w(TAG, "TAG_ORIENTATION: " + exif.getAttribute(ExifInterface.TAG_ORIENTATION));

that.success(new PluginResult(PluginResult.Status.OK), id);

但总是抛出错误

   E / JHEAD(26853):无法回信 - 没有全部阅读

所以我想我需要等到文件写完了?是否有任何听众或回调或s.l.t。

1 个答案:

答案 0 :(得分:3)

你遇到的第一个问题是ExifInterface只能读取jpg数据而不能读取png。其次,您可以在exif标题中设置方向参数,但实际上不会旋转图像。它仅提示显示图像的程序如何正确显示它们。