2016-06-18 6 views
0

Я в настоящее время использую эту библиотеку gitup touchimageview https://github.com/MikeOrtiz/TouchImageView .... После масштабирования, на основе процента масштабирования Я хочу сопоставить координаты longpress с исходными координатами изображения. Любая помощь будет оцененаХотите нанести на карту увеличенные координаты изображения с фактическими координатами изображения в android imageview

ответ

0

Try, чтобы получить матрицу ImageView:

float[] values = new float[9]; 
getImageMatrix().getValues(values); 

С помощью этого массива, вы имеете позицию верхнего левого угла в плане изображения на индексы 2 и 5. Например, когда values[2], values[5] -10, -10 означает, что левый верхний угол экрана составляет 10,10 пикселя изображения. Таким образом, вы можете получить координаты длительного нажатия:

float imageX = (pressX - values[2])/scale; 
float imageY = (pressY - values[5])/scale; 

Недавно я работаю с увеличенными изображениями, а также использовать эту библиотеку: https://github.com/chrisbanes/PhotoView Я думаю, его немного лучше, он имеет некоторые predifined штрихов с координатами изображения, и до сих пор (last commit ~ 2 месяца назад)

+0

1) 'getImageMatrix()' 2) инвертировать возвращен 'Matrix' 3) вызывать' mapPoints' на инвертированном 'Matrix', для обратного перехода пропустите шаг 2) – pskink

+0

Можете ли вы поделитесь мной подробным руководством этого решения? –