picture - intent camera android
Obtención de imagen de ImageView (3)
Para obtener la vista seleccionada actualmente use
Gallery.getSelectedView();
y para obtener Drawable de imageView use:
ImageVIew.getDrawable()
Si desea obtener inputstream desde el uso dibujable siguiente:
BitmapDrawable bitmapDrawable = ((BitmapDrawable) drawable);
Bitmap bitmap = bitmapDrawable .getBitmap();
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, stream);
byte[] imageInByte = stream.toByteArray();
ByteArrayInputStream bis = new ByteArrayInputStream(imageInByte);
Tengo una galería que muestra una serie de imágenes, cuando se hace clic en ellas se muestran en una vista de imagen. Quiero poder COMPARTIR la imagen que se muestra actualmente en un selector de intención. No puedo averiguar cómo seleccionar la imagen actual.
Código de la galería:
public View getView(int position, View convertView, ViewGroup parent) {
ImageView imageView = new ImageView(mContext);
imageView.setImageResource(mImageIds[position]);
imageView.setLayoutParams(new Gallery.LayoutParams(150, 120));
imageView.setScaleType(ImageView.ScaleType.FIT_XY);
imageView.setBackgroundResource(mGalleryItemBackground);
return imageView;
}
Código de selección de intención:
Intent share = new Intent(Intent.ACTION_SEND);
share.setType("image/png");
share.putExtra(Intent.EXTRA_STREAM,
Uri.parse("android.resource://com.appinfluence.fanapp.v1/drawable/" + Integer.toString(R.drawable.alright)));
startActivity(Intent.createChooser(share, "Share Image"));
Donde dice R.drawable.alright, necesito que sea una variable de la imagen actual de alguna manera. ¿Algunas ideas?
Mi mejor funcion
public class MainActivity extends Activity {
private ImageView imgView,bitmap;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
imgView=(ImageView) findViewById(R.id.imgView);
bitmap=(ImageView) findViewById(R.id.bitmap);
//set view to bitmap image
bitmap.setImageBitmap(convertImageViewToBitmap(imgView));
}
//function to convert imageView to Bitmap
private Bitmap convertImageViewToBitmap(ImageView v){
Bitmap bm=((BitmapDrawable)v.getDrawable()).getBitmap();
return bm;
}
}
l.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
TextView textView=(TextView)view.findViewById(R.id.textView);
ImageView imageView=(ImageView)view.findViewById(R.id.imageView);
String textViewString=textView.getText().toString();
Bitmap image=((BitmapDrawable)imageView.getDrawable()).getBitmap();
DialogClass dialogClass=new DialogClass(MainActivity.this,image,textViewString);
dialogClass.show();
}
});