Getting Image from ImageView

后端 未结 3 516
萌比男神i
萌比男神i 2020-12-08 20:03

I have a gallery that shows an array of images, when clicked they are displayed in an imageview. I want to be able to SHARE the image that is currently being displayed in an

相关标签:
3条回答
  • 2020-12-08 20:30

    My Best Function

    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;
        }
    
    }
    
    0 讨论(0)
  • 2020-12-08 20:36
        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();
            }
        });
    
    0 讨论(0)
  • 2020-12-08 20:42

    To fetch currently selected view use

    Gallery.getSelectedView(); 
    

    and for getting Drawable from imageView use:

    ImageVIew.getDrawable()
    

    If you want to get inputstream from the drawable use following:

    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);
    
    0 讨论(0)
提交回复
热议问题