ХОЛСТ: Как повернуть изображение, указав его положение и размер? - PullRequest
0 голосов
/ 06 ноября 2019

Мне нужно отобразить изображение на холсте, и это изображение должно быть в положении и с размером, потому что оно увеличивается с каждым обновлением.

Я рисую это так:

Drawable drawable = asteroid.getView().getDrawable();
drawable.setBounds(asteroid.getRect());
drawable.draw(canvas);

Работает отлично. getRect () возвращает Rect с x, y, width, height, и это работает.

Проблема в том, что теперь мне нужно добавить бесконечное и непрерывное вращение к изображению, это как шар, должно бытьвращаться вечно с одной и той же скоростью вращения, пока он не будет удален с экрана.

Я вижу, что вращение можно сделать следующим образом:

Matrix matrix = new Matrix();
matrix.setRotate(angle, imageCenterX, imageCenterY);
yourCanvas.drawBitmap(yourBitmap, matrix, null);

Проблема в том, что я не могу объединить эти двафрагменты кода, потому что, если я использую drawBitmap, я не могу указать Rect с x, y и width / height растрового изображения.

Раньше с аниматором объекта я делал это следующим образом:

rotation = ObjectAnimator.ofFloat(view, "rotation", 360f, 0f);
rotation.setDuration(rotationTime);
rotation.setInterpolator(null); 
rotation.setRepeatCount(ObjectAnimator.INFINITE);

Как это решить?

...