2012-06-11 83 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

请查看第二个链接。 –