2009-11-19 2 views
1

Я пытаюсь найти значение пикселя в изображении, отображаемом в UIImageView. Получение пикселя на дисплее (относительно) простое. Но когда изображение отображается масштабированным (скажем, изображение orgig. 1200 * 1600), это намного сложнее из-за масштабирования.Значение пикселя в изображении UIImageView

Любой хороший совет?

ответ

1

Если вы пытаетесь получить значение пикселя от исходного изображения, принятый ответ this question показывает способ получения значений пикселей из UIImage.

Edit:

Scaling означает потерю информации, так что не будет отображение взаимно однозначно. Один пиксель на уменьшенном изображении соответствует патчу пикселей в исходном изображении, и лучшее, на что вы можете надеяться, - это преобразование интервала потерь с [0..scaledX] в [0..originalX] и от [0 ..scaledY] to [0..originalY]. Объяснение о том, как сделать такое сопоставление, можно найти в ответе на вопрос this.

+0

Это легко, НО проблема в том, чтобы получить правильное отображение координат от исходного изображения до отображаемого изображения (и наоборот)! – strange99

+0

Масштабирование означает потерю информации, поэтому сопоставление «один к одному» не будет. Отредактировано ссылкой, которая, вероятно, поможет вам. – luvieere

+0

Хорошо, Хорошо. Позвольте мне уточнить, в чем проблема: У меня нет проблем с поиском самого пиксельного значения - задача состоит в том, чтобы выяснить, WHRE пиксель; Если оригинал. изображение, например. 1200 * 1600 отображается как 320 * 464 (поэтому он масштабируется). Если я нажимаю на отображаемое изображение, например. на 100 100 я хотел бы рассчитать соответствующую координату (x, y) в оригинале .. так отображается (100,100) -> оригинал (x, y). Я знаю, что есть интервал, но это неважно .... – strange99

Смежные вопросы