一切!我在这里完全失去了这个问题。它可能已被回答,但我找不到任何人要求我确切需要的东西。
我将一个jpeg文件保存到SDCARD,并希望以编程方式顺时针旋转90度,然后将其保存回卡片(覆盖原件或编辑后删除原件)。 jpeg加载到
File myFile;
有人可以告诉我如何解决这个问题吗?我想它与BitmapFactory和Matrices有关,但就像我说的那样:我在这里有点过头了!
谢谢!
答案 0 :(得分:0)
试试这个。
public Bitmap rotate(String file)
{
Bitmap source = BitmapFactory.decodeFile("/sdcard/ChuckNorris.png");
Bitmap b = Bitmap.createBitmap(source.getWidth(), source.getHeight(), Config.ARGB_8888);
Paint p = new Paint();
p.setColor(Color.BLACK);
Canvas f = new Canvas(b);
f.drawBitmap(source, 0, 0, p);
f.rotate(90);
return b;
}
注意:不要尝试我自己的
答案 1 :(得分:0)
我找到了答案!
对于JPG文件,显然您可以使用以下方法巧妙地编辑exif数据:
ExifInterface exif = new ExifInterface(myFile.getAbsolutePath());
exif.setAttribute(ExifInterface.TAG_ORIENTATION, "6");
exif.saveAttributes();
使用这种方法有什么缺点吗?据我所知,它似乎工作得很好。