2015-06-08 7 views
5

लोड करने के लिए मैं एक बिटमैप लोड करने के लिए की जरूरत है, कि इसे अपलोड करने, फाइल सिस्टम में है बाइट सरणी में लेकिन होने की जरूरत है:पिकासो बाइट सरणी

  • 500x500 करने के लिए और बाइट्स में [] का आकार बदलकर।
  • Async

मैं ग्लाइड

Glide.with(context) 
    .load(“/user/profile/photo/path”) 
    .asBitmap() 
    .toBytes() 
    .centerCrop() 
    .into(new SimpleTarget<byte[]>(250, 250) { 
     @Override 
     public void onResourceReady(byte[] data, GlideAnimation anim) { 
      // Post your bytes to a background thread and upload them here. 
     } 
    }); 

साथ यह कर सकते हैं, लेकिन मैं यह है कि अभी के लिए शामिल करने के लिए नहीं चाहते। पिकासो के साथ ऐसा करने का कोई तरीका?

+0

'एक बिटमैप का प्रयास करें, उस फ़ाइल system' में है। ??? यह कैसे संभव है? कृपया एक उदाहरण दें। – greenapps

+0

@ग्रीपैप्स मैं एक ही स्थिति में हूं। मेरे मामले में मुझे एक स्ट्रिंग (बेस 64 एन्कोडेड) के रूप में एक छवि मिलती है और मैं इसे लाइब्रेरी (प्रदर्शन अनुकूलन प्राप्त करने के लिए) के साथ प्रदर्शित करना चाहता हूं। – lrn2prgrm

उत्तर

0

इस समाधान

Bitmap bmp = intent.getExtras().get("data"); 
ByteArrayOutputStream stream = new ByteArrayOutputStream(); 
bmp.compress(Bitmap.CompressFormat.PNG, 100, stream); 
byte[] byteArray = stream.toByteArray(); 
+0

लेकिन मुझे इसे एसिंक की आवश्यकता है, इसलिए ग्लाइड के पास इसे आसान करने का एक तरीका है और मैं पूछ रहा था कि पिकासो के साथ कोई है या नहीं। – Caipivara

+0

पहले बिटमैप का आकार बदलें "बिटमैप बी = बिटमैपफैक्टरी.decodeByteArray (imageAsBytes, 0, imageAsBytes.length) बी = बिटमैप.क्रेटस्केल्ड बिटमैप (बी, 120, 120, झूठा));" और फिर बाइट्स –

+0

में कनवर्ट करें इस कोड को एसिंक्टास्क में संलग्न करें। आप यहां इसके लिए अच्छे ट्यूटोरियल पा सकते हैं। http://programmerguru.com/android-tutorial/android-asynctask-example/ –