簡體   English   中英

Android Image不保存到SD卡

[英]Android Image Not saving to sdcard

按下捕獲Button ,圖像應保存在SD卡中,它正在拍攝快照但不保存圖像,那么如何將捕獲按鈕放在我想要的任何地方? 我在Imageview有一個疊加層,我需要將按鈕放在疊加層上。

int圖片回調,請使用這樣的

jpegCallback = new PictureCallback() {
        public void onPictureTaken(byte[] data, Camera camera) {
            camera.startPreview();
            FileOutputStream outStream = null;
            try {
                outStream = new FileOutputStream(
                        "/mnt/sdcard/myphoto.jpg");
                outStream.write(data);
                outStream.close();
                Log.d("Log", "onPictureTaken - wrote bytes: " + data.length);
            } catch (FileNotFoundException e) {
                e.printStackTrace();

            } catch (IOException e) {
                e.printStackTrace();
            } finally {

            }
            Log.d("Log", "onPictureTaken - jpeg");
        }
    };

使用此選項將圖像存儲在SD卡中

     public void save(Bitmap image)
                     {
            File sdcard = Environment.getExternalStorageDirectory();
            File f = new File (sdcard, imagename);
            FileOutputStream out=null;
            try {
                out = new FileOutputStream(f);
            } catch (FileNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            image.compress(Bitmap.CompressFormat.PNG, 90, out);
            try {
                out.flush();
                out.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
}
stream=new ByteArrayOutputStream();
temBitmap=Bitmap.createBitmap(bmp);
temBitmap.compress(Bitmap.CompressFormat.JPEG,100, stream);
 path+=String.format(
                getString(R.string._sdcard_d_jpg),
                System.currentTimeMillis());
  outStream = new FileOutputStream(path+extension); // <9>
  outStream.write(stream.toByteArray());
  outStream.close();   

以這種方式更改上面的代碼段:

    path+=String.format(
            getString(R.string._sdcard_d_jpg),
            System.currentTimeMillis());
    outStream = new FileOutputStream(path+extension); // <9>
    temBitmap=Bitmap.createBitmap(bmp);
    temBitmap.compress(Bitmap.CompressFormat.JPEG,100, outStream);
    outStream.close();     
     temBitmap.recycle()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM