Android получает растровое изображение Rect (слева, сверху, справа, снизу) на холсте - PullRequest
4 голосов
/ 19 июля 2011

Я рисую растровое изображение на холсте, а затем выполняю некоторое масштабирование на нем, довольно просто, просто используя canvas.scale (int, int, pivot, pivot), а затем, когда масштабирование завершено, мне нужно получить координаты растрового изображения относительно области просмотра. Есть ли какой-нибудь удобный способ сделать это, не вычисляя самостоятельно, какова начальная позиция, где она находилась после шкалы?

На самом деле, растровое изображение с масштабированием может быть больше, чем Canvas, поэтому мне нужен фактически размер клипа для представления и растровое изображение (размер области, которая невидима, и я предполагаю, что она меньше x, y (0 0).

1 Ответ

2 голосов
/ 19 июля 2011

Я думаю вот что:

canvas.scale(scaleX, scaleY, pivotX, pivotY);    

if (scaleX >= 1){       
  objectNewX = objectOldX + (objectOldX - pivotX)*(scaleX - 1);  
}else{      
  objectNewX = objectOldX - (objectOldX - pivotX)*(1 - scaleX);  
} 

то же самое для Y и другого угла, это с макушки головы, не пробовал ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...