Точка Re-Plot при изменении масштаба изображения - PullRequest
0 голосов
/ 25 февраля 2012

Я хочу иметь возможность нанести точку на измененном изображении обратно на исходное изображение и по-прежнему указывать в том же месте на изображении.

Скажем, у меня есть изображение с оригинальным размером 1024x768. Я масштабирую его, чтобы он поместился в видимой зоне 640x480, и нанесу точку в точке (x = 300, y = 212).

Когда я просматриваю изображение с его оригинальным разрешением 1024x768, какую формулу я бы использовал для построения точки?

1 Ответ

0 голосов
/ 25 февраля 2012

Сначала вам нужно узнать, в каком масштабе находится ваше масштабированное изображение,

То

 scale = (size of scaled image) / (size of original image)

, получив шкалу, вы можете просто перевести исходную координату в масштабированные координаты, умножив ее на масштаб.

 scaled_x = original_x * scale_x

Переход от масштабированных координат к оригиналу - это просто деление на масштаб.

 original_x = scaled_x / scale

Если масштабирование не сохранило пропорции изображения (непроблема в вашем случае) вам нужно будет тренироваться по шкалам x и y отдельно

Для меня это выглядит как домашнее задание, поэтому я позволю вам подставить цифры.

...