У меня есть изображение, показанное в виде изображения. Если я касаюсь некоторых, где на экране, есть ли какой-либо метод, чтобы узнать, какая точка затронута на изображении. Я хочу взять координаты относительно изображения, а не координаты экрана. Я хочу сделать это без использования сторонней библиотеки. Пожалуйста, предложите, если есть какие-либо методы.Преобразование точки экрана в точку изображения
ответ
Чтобы преобразовать точку с одного вида на другой вид, вы можете использовать методы convertPoint:fromView:
и convertPoint:toView:
.
Как только вы получите относительные координаты из события касания UIImageView (и я предполагаю, что вы используете UIImageView и устанавливаете его свойство Image для изображения). Затем вы можете использовать 1/UIImageView.image.scale для умножения с относительными касательными координатами и получения абсолютных координат для этого изображения.
Как правило, ваше исходное изображение искажается или масштабируется в зависимости от размера UIImageView, поэтому вам нужно сделать обратный эффект.
У меня есть прокрутка, связанная с изображением. Когда я масштабирую/прокручиваю вышеприведенную логику, не будет работать na ... – Shruthi
@Shruthi - Вам нужно будет поделиться своим кодом, тогда я могу вам помочь ... – Jailbroken
У меня есть прокрутка, над которой я разместил изображение. Я рисую линии над этим изображением. Мне нужно отправить координаты линии относительно исходного изображения (а не координат изображения) на сервер. Я использовал прокрутку, чтобы увеличить изображение. – Shruthi
попробуйте вот так, Важное примечание userInteractionEnable=YES
для вашего изображения. По умолчанию для взаимодействия с пользователем установлено значение НЕТ для просмотра изображения.
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch *touch = [[event allTouches] anyObject];
if([[touch view] isKindOfClass:[UIImageView class]]){
CGPoint point= [touch locationInView:touch.view];
NSLog(@"%f%f",point.x,point.y);
}
}
XCode6.1 предположил, что это был userInteractionEnabled не userInteractionEnable – stephendwolff
Аналогичный вопрос уже задан и отвечает. Некоторые из них указали здесь, чтобы помочь кому-то в будущем ..
- 1. Java findHomography преобразование точки изображения в точку заземления
- 2. Преобразование места установки экрана в полярную точку от центра экрана
- 3. Преобразование координаты экрана в локальную точку UIView
- 4. Преобразование 3D облаков точки в область изображения
- 5. Преобразование точки экрана в SP 4326
- 6. Преобразование декартовой точки в точку на повернутой плоскости (рис.)
- 7. Преобразование координат экрана в координаты изображения
- 8. Преобразование матрицы в ключевую точку?
- 9. проблемы преобразования точки координат в точку обзора
- 10. Преобразование в плавучую точку
- 11. Преобразование DataPoint в точку
- 12. Преобразование координат точки в координаты экрана в JavaFX?
- 13. C# Преобразование точки из одной координаты экрана в другую координаты экрана
- 14. Преобразование двоичного изображения в точки зрения в Gussian
- 15. Преобразование точки пиксела в широту и долготу
- 16. Преобразование многоточечного в точку в MySQL
- 17. API-интерфейс ArcGIS Flex: преобразование точки экрана в MapPoint
- 18. iOS CorePlot преобразование точки
- 19. Преобразование символа в кодовую точку в Vim
- 20. Преобразование worldcoordinates в координаты экрана
- 21. Преобразование точки мыши
- 22. SpriteKit найти точку на периметре экрана
- 23. Преобразование между облаками точки
- 24. Переместить точку от другой точки
- 25. Преобразование timedelta в плавающую точку
- 26. Преобразование изображения в четыре проецируемые точки в iOS
- 27. Преобразование точки в кнопку
- 28. Как найти 2D-точку экрана элемента после преобразования перспективы CSS3
- 29. Определить точку изменения размера экрана
- 30. Поверните точку на другую точку в 2D
К сожалению, я не нужна точка в ImageView. Мне нужны координаты в файле изображения. – Shruthi