我从SD卡中取得一张图片,怎么把修改后的图片在存入SD卡中,

解决方案 »

  1.   

    adb push c:/001.jpg  /sdcard      复制001.jpg文件到 /sdcard 目录下
    或在eclipse的ddms下有相关操作
      

  2.   

    那也得先说把什么类型的对象比如bitmap,canvas,imageview保存到sdcard才行,一般是先设置sdcard写权限再以文件流的方式写到sdcard上
      

  3.   

    打开Android Manifest.xml文件,manifest标签内加入权限 
    <uses-permission android:name=”android.permission.INTERNET” />
    try {
           FileOutputStream out = new FileOutputStream(Environment.getExternalStorageDirectory()+ File.separator+ "test.jpg");
           bmp.compress(Bitmap.CompressFormat.PNG, 90, out);
           out.flush();
           out.close();
    } catch (Exception e) {
           e.printStackTrace();
    }
           
      

  4.   

    这个已经很明白了.不过权限不对,应该是读写外部设备权限
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    写道sdcard根目录下就是
    FileOutputStream out = new FileOutputStream(new File("/sdcard/b.bmp"));
      

  5.   


    public static void write(String path){
    try{
    FileInputStream i = new FileInputStream(new File(path));
    FileOutputStream o = new FileOutputStream(new File("/sdcard/b.bmp"));
    byte[] bytes = new byte[1024];
    while(i.read(bytes) != -1){
    o.write(bytes, 0, 1024);
    o.flush();
    }
    i.close();
    }
    } catch (Exception e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }特地给你写了个
      

  6.   

    FileOutputStream out = new FileOutputStream(new File("/sdcard/b.bmp"));
    这句是把什么内容写进去了????我要写进去的内容加在哪??麻烦具体点,我真的不懂
      

  7.   

    [2011-07-19 10:02:27 - com.android.ide.eclipse.adt.internal.project.AndroidManifestHelper] Parser exception for E:\project\eeee\AndroidManifest.xml: Open quote is expected for attribute "android:name" associated with an  element type  "uses-permission".
      

  8.   


    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    这句话写在</application>后面
    public static void write(String path){
    ...
    }
    这个path就是你要读的文件的路径,也就是你那个bmp的路径
    思路就是从path里面用输入流读取字节缓存到数组,在用输出流一点点输出到/sdcard/b.bmp
    b.bmp随便取得名字,成功后你就会看到sdcard下多了个b。bmp文件
    唉,就这些吧
      

  9.   

    呵呵 不好意思 我把权限写错了 应该是
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>才对
    把AndroidManifest.xml贴上来看看
      

  10.   

    谢谢了,最后再问一个,我只知道图片的URI,FileInputStream i = new FileInputStream(new File(URI));
    提示不对,()中必须为string 怎么改谢谢,最后一问了,望回答
      

  11.   

    bmp.compress(Bitmap.CompressFormat.PNG, 90, out);
    能说的具体点吗,这个方法是什么意思。
      

  12.   

    boolean  compress(Bitmap.CompressFormat format, int quality, OutputStream stream)
    Bitmap的方法直接把位图压缩成png后存入流文件内
      

  13.   

    谢谢了,最后再问一个,我只知道图片的URI,FileInputStream i = new FileInputStream(new File(URI));
    提示不对,()中必须为string 怎么改谢谢,最后一问了,望回答 
     
      

  14.   


    有URI直接调用 URI.openStream()就返回InputStream对象了
      

  15.   

    File file = new File(Strinf),直接string就行了
      

  16.   

     public void onActivityResult(int requestCode, int resultCode, Intent data){  
            super.onActivityResult(requestCode, resultCode, data);  
              
            Log.v("Result OK Value:", resultCode+"");  
            Log.v("RequestCode Value", requestCode+"");  
              
            if(resultCode == RESULT_OK){  
                imageUri = data.getData();    
                if(requestCode == FIRST_PIC){  
                    //在Gallery中选中一个图片时,返回来的Intent中的Data就是选择图片的Uri  
                    srcBitmap = getSrcImage(imageUri);  
                    srcImageView.setImageBitmap(srcBitmap); 
          
       //startActivityForResult(Intent.createChooser(intent, "选择图片"),SELECT_PICTURE);
                }else if(requestCode == SECOND_PIC){  
                    //这里处理用户选择的第二张图片  
                   getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); 
                   setContentView(R.layout.main);
                   
                   dstBitmap = getSrcImage(imageUri);  
                      dstImageView.setImageBitmap(dstBitmap);
                      try{
                                        FileInputStream i = new FileInputStream(new File(Strinf(imageUri));
                                   FileOutputStream o = new FileOutputStream(new File("/sdcard/b.bmp"));
                                   byte[] bytes = new byte[1024];
                                   while(i.read(bytes) != -1){
                                       o.write(bytes, 0, 1024);
                                       o.flush();
                                   }
                                   i.close();
                       }
                        catch (Exception e) {
                                   // TODO Auto-generated catch block
                                   e.printStackTrace();
                               }
                      
                      
                }  
            }  
        }  
                
        怎么改啊。              
      

  17.   


    你真要URI转成String可以这样   public String getRealPathFromURI(Uri contentUri) {
                String [] proj={MediaStore.Images.Media.DATA};
                Cursor cursor = managedQuery( contentUri,
                                proj, // Which columns to return
                                null,       // WHERE clause; which rows to return (all rows)
                                null,       // WHERE clause selection arguments (none)
                                null); // Order-by clause (ascending by name)
                int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
                cursor.moveToFirst();
                return cursor.getString(column_index);
        }
      

  18.   

    Android 怎么把应用程序画的图片存到SDCARD中
      

  19.   

    http://www.qianxk.com/forum.php?mod=viewthread&tid=7614&page=1&extra=#pid13863这里面就是你要的实现方式!do it!