2012-06-11 104 views
1

我正在拍攝android手機攝像頭的圖片並將其放置在imageview上。現在我想採取imageview的src,以便我可以將其上傳到服務器。我該如何取得src的imageview?如何在android中獲取src og imageview

這裏是我的代碼

public class CameraActivity extends Activity implements View.OnClickListener { 
ImageView iv; 
Button bCapture, bSetWall; 
Intent i; 
int CameraResult = 0; 
Bitmap bmp; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    initialize(); 
    InputStream is = getResources().openRawResource(R.drawable.ic_launcher); 
    bmp = BitmapFactory.decodeStream(is); 
} 

private void initialize() { 
    iv = (ImageView)findViewById(R.id.ivCamera); 
    bCapture = (Button)findViewById(R.id.bCapture); 
    bSetWall = (Button)findViewById(R.id.bSetWall); 
    bCapture.setOnClickListener(this); 
    bSetWall.setOnClickListener(this); 
} 

public void onClick(View v) { 
    switch(v.getId()) { 
    case R.id.bCapture: 
     i = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 
     startActivityForResult(i, CameraResult); 
     break; 
    case R.id.bSetWall: 
     try { 
      getApplicationContext().setWallpaper(bmp); 
     } catch (IOException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
     break; 
    } 
} 

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    // TODO Auto-generated method stub 
    super.onActivityResult(requestCode, resultCode, data); 
    if(resultCode == RESULT_OK) { 
     Bundle extras = data.getExtras(); 
     bmp = (Bitmap) extras.get("data"); 
     iv.setImageBitmap(bmp); 
     //String v = iv.getTag().toString(); 
     //Toast.makeText(getApplicationContext(), v, Toast.LENGTH_LONG).show(); 
    } 
} 


} 

回答

1

轉換位爲字節數組並把它發送到服務器

Bitmap bmp = intent.getExtras().get("data"); 
ByteArrayOutputStream stream = new ByteArrayOutputStream(); 
bmp.compress(Bitmap.CompressFormat.PNG, 100, stream); 
byte[] byteArray = stream.toByteArray(); 
+0

所以加入我的這幾行代碼,然後我要上傳'byteArray'後?其次,我在服務器端使用PHP,所以我將如何處理服務器端的這個字節數組? – 2619

+0

ü可以將字節數組轉換爲base64字符串併發送到服務器 – user1203673

1

它可以上傳圖片視圖,而不保存在SD卡或手機位置信息的存儲。如果您想在從相機拍攝照片後保存圖像,則需要將圖像視圖轉換爲位圖並將其保存在SD卡中。再次,您需要將位圖中的SD卡圖像轉換爲上載服務器。

Link1

Link

感謝

+0

如何上傳imageview而不保存到SD卡? – 2619

+0

請查看第二個鏈接。 –