如何从sd卡正确编辑图像并将其保存回来

|| 我的应用程序访问相机并捕获图片,然后将其保存回sdcard中。 问题是图像在1500X2500 px和500kb的大小上很大。 我必须将图像上传到服务器。 所以我想编辑图像,但我想以正确的构图(即正确的高宽比)编辑图像,以使图像看起来不奇怪 我正在使用的代码:
FileInputStream in = new FileInputStream(\"/mnt/sdcard/DCIM/1302779969138\");
BufferedInputStream buf = new BufferedInputStream(in)                                 
Bitmap bm = BitmapFactory.decodeStream(buf);
File isfile = new File(Environment.getExternalStorageDirectory(),\"/DCIM/1302779969138\");
FileOutputStream fout = new FileOutputStream(isfile);
Bitmap bitmap = null;

bitmap = Bitmap.createScaledBitmap(bm, 350, 350, true);
bitmap.compress(CompressFormat.JPEG, 20, fout);
使用上面的代码,我能够将图像调整为350 X 350,但是我希望仅将宽度作为参数进行缩放,以使高度相应地调整,并且图像比例保持不变 另外还要提及我是否应该冲洗
Fileoutputsteam
inputStream
    
已邀请:
如何缩放图像以保留其宽高比:
orig_width = bm.getWidth();
orig_height = bm.getHeight();
aspect = orig_width / orig_height;
new_width = 500;
new_height = orig_height / aspect;
要么
new_height = 500;
new_width = orig_width * aspect;
    

要回复问题请先登录注册