2014-02-14 48 views
2

我可以將圖片加載到背景,然後我也可以「繪製」它,但是當我嘗試保存圖片以便我可以將它作爲附件發送給電子郵件時,我只能弄清楚山楂搶原始圖像和我有什麼使得這裏的活動密切如何在修改後保存圖片

public void startCamera(View v) { 
     Intent takePicture = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
     seek.setVisibility(View.GONE); 
     if (takePicture.resolveActivity(getPackageManager()) != null) { 

      picSpot = new File(Environment.getExternalStorageDirectory(), 
        "sketch.png"); 

      outputFileUri = Uri.fromFile(picSpot); 
      takePicture.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri); 
      startActivityForResult(takePicture, REQUEST_IMAGE_CAPTURE); 
     } 
    } 

    public void sendPic(View v) { 
     Intent sharePic = new Intent(Intent.ACTION_SEND); 
     if (didsketch == false) { 

      sharePic.setType("image/png"); 
      sharePic.putExtra(Intent.EXTRA_STREAM, outputFileUri); 
      sharePic.putExtra(Intent.EXTRA_SUBJECT, "Check This Out!"); 
      sharePic.putExtra(Intent.EXTRA_TEXT, 
        "I did this on my Sketchify App!"); 
      startActivity(Intent.createChooser(sharePic, "Send Email")); 
     } else { 
      try { 
       FileOutputStream out = new FileOutputStream(finalSpot); 
       back.compress(Bitmap.CompressFormat.PNG, 90, out); 
       out.close(); 
      } catch (Exception e) { 
       e.printStackTrace(); 
      } 
      outputFileUri = Uri.fromFile(finalSpot); 
      sharePic.setType("image/png"); 
      sharePic.putExtra(Intent.EXTRA_STREAM, outputFileUri); 
      sharePic.putExtra(Intent.EXTRA_SUBJECT, "Check This Out!"); 
      sharePic.putExtra(Intent.EXTRA_TEXT, 
        "I did this on my Sketchify App!"); 
      startActivity(Intent.createChooser(sharePic, "Send Email")); 
     } 
    } 

    @Override 
    protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
     sketchit.setEnabled(true); 
     if (requestCode == REQUEST_IMAGE_CAPTURE && resultCode == RESULT_OK) { 
      DisplayMetrics metrics = this.getResources().getDisplayMetrics(); 
      screenHeight = metrics.heightPixels; 
      screenWidth = metrics.widthPixels; 
      location = Environment.getExternalStorageDirectory() 
        + "/sketch.png"; 
      back = Camera_Helpers.processImage(location, screenHeight, 
        screenWidth); 
      taken = true; 
      sketchit.setEnabled(taken); 
      shareit.setEnabled(taken); 
      image.setImageBitmap(back); 
     } 
    } 

背面是修改後的位圖我試圖最終附加到電子郵件 謝謝!

回答

1

創建文件夾目錄並將圖像保存到其中:創建您想要保存圖像的目錄。假設文件夾名稱是ImageFolder

String location = Environment.getExternalStorageDirectory() + "/ImageFolder/"; 

//Creating Folder Directory 
File imageDir = new File(location); 
dir.mkdirs(); 

//Creating Image file 
String imageName = "sketch.png"; 

File imageFile = new File(imageDir, imageName); 

//If image file already exists then delete it. 
if (imageFile.exists()) { 
    imageFile.delete(); 
} 

//Writing the image to SDCard 
try { 
    FileOutputStream out = new FileOutputStream(imageFile); 
    back.compress(Bitmap.CompressFormat.JPEG, 100, out); 
    out.flush(); 
    out.close(); 

} catch (Exception e) { 
    e.printStackTrace(); 
} 
+0

非常感謝! – SketchyTurtle

相關問題