मैं एक एमुलेटर पोर्ट करने की कोशिश कर रहा हूं जिसे मैंने जावा में एंड्रॉइड में लिखा है। चीजें अच्छी तरह से चल रही हैं, मैं अपने अधिकांश कोडों को मामूली परिवर्तनों के साथ बंद करने में सक्षम था, हालांकि इम्यूलेशन कैसे काम करता है, मुझे पिक्सेल स्तर पर छवि प्रस्तुत करने की आवश्यकता है।एंड्रॉइड फास्ट पिक्सेल एक्सेस और मैनिपुलेशन
डेस्कटॉप जावा के लिए जैसा कि मैंने का उपयोग
int[] pixelsA = ((DataBufferInt) src.getRaster().getDataBuffer()).getData();
जो मुझे पिक्सेल बफर के संदर्भ में हो और (वस्तु कृतियों को कम से कम)
वर्तमान में यह क्या के लिए मेरे एमुलेटर है मक्खी पर इसे अद्यतन करने की अनुमति देते हैं एंड्रॉयड हर फ्रेम
@Override
public void onDraw(Canvas canvas)
{
buffer = Bitmap.createBitmap(pixelsA, 256, 192, Bitmap.Config.RGB_565);
canvas.drawBitmap(buffer, 0, 0, null);
}
pixelsA है एक सरणी पूर्णांक [], pixelsA सभी रंग जानकारियां, इसलिए हर फ्रेम यह एक बिटमैप वस्तु बनाने के लिए होगा शामिल करता है
buffer = Bitmap.createBitmap(pixelsA, 256, 192, Bitmap.Config.RGB_565);
जो मुझे विश्वास है कि यह काफी महंगा और धीमा है।
कैनवास के साथ कुशलतापूर्वक पिक्सल खींचने का कोई तरीका है?
यह सच है, createBitmap धीमी है, यह स्मृति प्रतिलिपि है, और यहां तक कि आपके मामले में पिक्सेल प्रारूप का रूपांतरण भी है! –