初学者Android Dev问题 - 相机特定问题

时间:2012-03-08 21:42:46

标签: android image sdk camera compression

我正在学习安卓程序,我只是有几个问题,我希望你们可以帮助我。

1)如果我让我的程序调用相机并使其能够拍照并且我想存储这些图片,我在哪里制作商店程序呢?在什么文件夹?在assest或res文件夹中?

2)我想将图像发送到服务器,但我担心图像尺寸会变大。无论如何我可以压缩图像,以便它可以更小,然后发送小版本?或者无论如何我可以从低分辨率/质量开始拍照?

2 个答案:

答案 0 :(得分:1)

1)您的应用程序在运行时无权更改resources / assets文件夹。您应该将它临时写入您的目录,或者您应该将其存储在Sdcard上。

2)Bitmap API能够在给定特定参数的情况下压缩图像。查看SDK站点以获取更多信息。

答案 1 :(得分:0)

1。)您可以将这些图像存储到外部目录或SD卡。

     String rootDir = Environment.getExternalStorageDirectory()
                        + File.separator + "nameofyourfolder";
                File rootFile = new File(rootDir);
                rootFile.mkdir();
                URL url = new URL(fileURL);

                File newFile=new File(rootFile,fileName);
                newFile.createNewFile();
                FileOutputStream f = new FileOutputStream(newFile);

                InputStream in = url.openConnection().getInputStream();
                byte[] buffer = new byte[1024];
                int len1 = 0;
                while ((len1 = in.read(buffer)) > 0) {
                    f.write(buffer, 0, len1);
                }

                f.close();

2.。)您可以压缩图像大小:

    int nh = (int) ( bitmap.getHeight() * (512.0 / bitmap.getWidth()) );
            bitmap = Bitmap.createScaledBitmap(bitmap,512,nh,true);