के साथ काम नहीं कर रहा है यह कोड बिटमैप के अल्फा चैनल का उपयोग करके एक रंग (अल्फा के साथ) आकार खींचता है।हनीकॉम्ब हार्डवेयर त्वरण setColorFilter
Bitmap alphaMask = bitmap.extractAlpha();
Paint paint = new Paint();
int color = Color.GRAY;
...
paint.setColor(color);
paint.setColorFilter(new PorterDuffColorFilter(color, PorterDuff.Mode.DST_IN));
...
canvas.drawBitmap(alphaMask, x, y, paint);
उदाहरण के लिए, उसे छोड़ दिया बिटमैप लेने के लिए और कैनवास पर आकर्षित की तरह यह सही पर दिखाई देता होगा:
हालांकि, यह हनीकोम्ब पर काम नहीं करता (एंड्रॉयड 3.0) जब हार्डवेयर त्वरण चालू होता है। यह आकार को काले रंग के रूप में खींचता है चाहे कोई फर्क नहीं पड़ता। यह रंग मूल्य को अनदेखा करता है। हालांकि, यह हार्डवेयर त्वरण के साथ आईसीएस (एंड्रॉइड 4.0) पर ठीक काम करता है।
मुझे पता है कि कुछ एपीआई हार्डवेयर त्वरण के साथ समर्थित नहीं हैं, Romain Guy documented here, के तहत क्या ड्राइंग ऑपरेशंस समर्थित हैं?, लेकिन मैं समर्थित नहीं के रूप में वर्णित किसी भी का उपयोग नहीं कर रहा प्रतीत होता है।
इसके अतिरिक्त, ऐसा लगता है कि सेटकॉलरफ़िल्टर को at this post काम करना चाहिए।
क्या मेरे कोड में कुछ ऐसा है जो हनीकॉम में समर्थित नहीं है? कोई कामकाज? मुझे इस मामले में हार्डवेयर त्वरण छोड़ना अच्छा लगेगा।
धन्यवाद
+1। बहुत अच्छा। हमें छोड़ने और हमें बताने के लिए धन्यवाद! :) – MrGomez
अरे कोई चिंता नहीं, आपने लोगों ने एंड्रॉइड के साथ अद्भुत चीजें की हैं, माफी मांगने की कोई ज़रूरत नहीं है! किसी भी तरह, मैं एक बिटमैप में ड्राइंग करने के मार्ग पर जा रहा था और फिर बिटकमैप को हार्डवेयर त्वरित कैनवास पर खींच रहा था जैसा आपने कहा था। मेरे लिये कार्य करता है! धन्यवाद – cottonBallPaws
@littleFluffyKitty मुझे खुशी है कि यह सब काम कर रहा है। धन्यवाद, @RomainGuy! – MrGomez