2012-06-11 5 views
1

Я делаю снимок с камеры телефона Android и размещая его на изображении. теперь я хочу взять этот src изображения, чтобы я мог загрузить его на сервер. Как я могу взять src изображения?Как получить src og imageview в android

Вот мой код

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

u может преобразовать массив байтов в строку base64 и отправить на сервер – user1203673

1

Можно загрузить изображение View Без сохранения в SDCARD или телефона Местоположение магазина. если вы хотите сохранить изображение после съемки с камеры, вам необходимо преобразовать изображение в растровое изображение и сохранить его в SD-карте. Снова вам нужно преобразовать SD-образ в растровое изображение, чтобы загрузить его на сервер.

Link1

Link

благодаря

+0

как я могу загрузить изображение без сохранения на SDCard? – 2619

+0

проверьте второй link. –

Смежные вопросы