2012-01-28 15 views
20

से छवि प्राप्त करना मेरे पास एक गैलरी है जो छवियों की एक सरणी दिखाती है, जब क्लिक किया जाता है तो वे एक छविदृश्य में प्रदर्शित होते हैं। मैं उस छवि को साझा करने में सक्षम होना चाहता हूं जो वर्तमान में एक उद्देश्य चयनकर्ता में प्रदर्शित किया जा रहा है। मैं नहीं समझ सकता कि वर्तमान छवि का चयन कैसे करें।ImageView

गैलरी कोड:

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; 
    } 

आशय चयनकर्ता कोड:

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")); 

यह कहाँ R.drawable.alright कहते हैं मुझे लगता है कि वर्तमान छवि के एक चर किसी भी तरह की जरूरत है। कोई विचार?

उत्तर

55

वर्तमान में चयनित दृश्य उपयोग लाने के लिए

Gallery.getSelectedView(); 

और imageView उपयोग से हो रही Drawable के लिए:

ImageVIew.getDrawable() 

आप निम्नलिखित drawable उपयोग से InputStream प्राप्त करना चाहते हैं:

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

तो कैसे मैं एक स्ट्रिंग में वर्तमान imageView छवि मिलता है। उदाहरण के लिए ऊपर दिए गए मेरे कोड से R.drawable.alright। Imageview.getdrawable.tostring() का उपयोग करके मुझे [email protected] –

+1

हालांकि मैंने उपयोग नहीं किया है, बस संसाधनों का उपयोग करके प्रयास करें: संसाधन .getResourcePackageName (resId) + '/' + संसाधन .getResourceTypeName (resId) + '/'+ संसाधन .getResourceEntryName (resId); – jeet

+0

जहां मैं इस कार्यक्रम पर आकर्षित करने योग्य चर पाया जा सकता है –

3
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

माई बेस्ट समारोह

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; 
    } 

} 
संबंधित मुद्दे