मैं इस समस्या के समाधान के लिए एक दिन से अधिक समय से तलाश कर रहा हूं, लेकिन यहां तक कि कुछ भी मदद नहीं करता है, यहां तक कि उत्तर भी। प्रलेखन कुछ भी स्पष्ट नहीं करता है।
मैं बस किसी अन्य वस्तु की दिशा में घूमने की कोशिश कर रहा हूं। समस्या यह है कि बिटमैप को एक निश्चित बिंदु के आसपास नहीं घुमाया जाता है, बल्कि बिटमैप (0,0) के आसपास घुमाया जाता है।
यहाँ वह कोड है जिससे मुझे परेशानी हो रही है:
Matrix mtx = new Matrix();
mtx.reset();
mtx.preTranslate(-centerX, -centerY);
mtx.setRotate((float)direction, -centerX, -centerY);
mtx.postTranslate(pivotX, pivotY);
Bitmap rotatedBMP = Bitmap.createBitmap(bitmap, 0, 0, spriteWidth, spriteHeight, mtx, true);
this.bitmap = rotatedBMP;
अजीब हिस्सा है, इससे कोई फर्क नहीं पड़ता कि मैं pre
/ postTranslate()
और फ्लोट तर्कों के भीतर मूल्यों को कैसे बदलता हूं setRotation()
। क्या कोई मदद कर सकता है और मुझे सही दिशा में धकेल सकता है? :)
new
एड मैट्रिक्स को रीसेट करने की आवश्यकता नहीं है । इसकी पहले से ही पहचान है।