Non riesco a disegnare una bitmap rotante attorno al suo centro e a fare la rotazione senza ridimensionare la bitmap. Sto disegnando tutti i miei folletti sullo schermo tramite un thread di gioco, quindi sto cercando una soluzione che incorpori la bitmap originale e non la tela.Android ruota la bitmap attorno al centro senza ridimensionare
Grazie in anticipo.
Questo è il mio codice finora, trasforma una bitmap attorno al suo centro, ma lo ridimensiona.
i = i + 2;
transform.postRotate(i, Assets.scoresScreen_LevelStar.getWidth()/2, Assets.scoresScreen_LevelStar.getHeight()/2);
Bitmap resizedBitmap = Bitmap.createBitmap(Assets.scoresScreen_LevelStar, 0, 0, Assets.scoresScreen_LevelStar.getWidth(), Assets.scoresScreen_LevelStar.getHeight(), transform, true);
game.getGraphics().getCanvasGameScreen().drawBitmap(resizedBitmap, null, this.levelStar.getHolderPolygons().get(0), null);
Aggiornamento:
ho notato questo non è così facile come sembra. Il mio codice rotante non è il problema. La bitmap ruota, tuttavia il dst rect dovrà anche aumentare/diminuire in base all'angolo di rotazione, altrimenti il bimap apparirà più piccolo, poiché viene disegnato in un fisso dst rect. Quindi immagino che dovrò sviluppare un metodo che restituirà un dst rect. Così i metodi necessari per ruotare una bitmap senza apparso ridimensionamento:
public static Bitmap rotateBitmap(Bitmap bitmap, int rotation) // I've got this method working
e
public static Rect rotateRect(Rect currentDst, int rotation) // Don't got this
Capisco che questo richiederà un po 'di matematica (trig), chiunque pronto per la sfida? : P
Che cosa hai provato fino ad ora? Puoi pubblicare alcuni esempi di ciò che non ha funzionato per te? –
Diritto Android o Cocos2d-x? – Fallenreaper
Domanda aggiornata con codice, @Fallenreaper, sto usando il mio GE, Android così dritto. –