作者lovelycateye (我还想要更多力量)
看板AndroidDev
标题Re: [问题] 将camera 拍照的图片转到bitmap比例不对
时间Thu Jul 14 15:29:13 2011
就当做是个缩图的Smaple Code来看吧,还请各位大大指正优化我的写法。
另外,我没测试过,有无Bug不知道XD。
自己看着办~
@Override
public void onPictureTaken(byte[] data, Camera camera) {
FileOutputStream fos = null;
try {
Size orignalSize = camera.getParameters().getPictureSize();
Size targetSize = camera.getParameters().getPreviewSize();
Float scale = new Float(orignalSize.width) / new Float(targetSize.width);
//怕OOM爆炸
BitmapFactory.Options opts = new BitmapFactory.Options();
//逻辑自己写,我很懒
opts.inSampleSize = new Double(Math.ceil(scale)).intValue();
Bitmap source = BitmapFactory.decodeByteArray(data, 0, data.length, opts);
Matrix matrix = new Matrix();
matrix.postScale(scale, scale);
Bitmap output = Bitmap.createBitmap(source, 0, 0,
targetSize.width, targetSize.height, matrix, true);
String file = android.os.Environment.getExternalStorageDirectory() + "/" +
System.currentTimeMillis();
fos = new FileOutputStream(file + ".jpg");
output.compress(Bitmap.CompressFormat.JPEG, 85, fos);
fos.flush();
fos.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
--
抱最大的希望,为最大的努力,做最坏的打算。 严长寿
领最大的薪水,拥最大的权势,做最坏的榜样。 立法院
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 122.116.88.75
※ 编辑: lovelycateye 来自: 122.116.88.75 (07/14 15:31)