Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
unm
Зарегистрирован: 09.11.2008 Сообщения: 27
|
Добавлено: Вс 26 Апр 2009 23:25 Заголовок сообщения: MakeImageFile |
|
|
Создаю графический файл по размеру Timage(img).
ActiveProjectView.MakeImageFile(screen.PixelsPerInch,screen.PixelsPerInch,img.Width, img.Height, x_c,
y_c, 1/masht,90,true,clWhite,file_name);
знаю координаты середины в ингео, знаю середину в Timage.
Необходимо получить координаты("инеговские") на рисунке.
Я так понимаю нужно использовать масштаб, разрешение, но что то не получается их привести. Может кто сталкивался? |
|
Вернуться к началу |
|
 |
Михаил Власов

Зарегистрирован: 14.02.2005 Сообщения: 580 Откуда: ИНТЕГРО
|
Добавлено: Пн 27 Апр 2009 09:29 Заголовок сообщения: |
|
|
Судя по приведенному примеру, должно работать.
Напишите подробнее, чем отличается сформированное изображение от того, которое Вы ожидаете. _________________ С уважением, Михаил Власов. |
|
Вернуться к началу |
|
 |
unm
Зарегистрирован: 09.11.2008 Сообщения: 27
|
Добавлено: Пн 27 Апр 2009 13:02 Заголовок сообщения: |
|
|
Изображение я получаю с ним все нормально.
я хочу получить координаты ингео на этом рисунке.
ну допустим я хочу узнать по координатам ингео X: 1234567 Y: 2173453 координаты на рисунке допустим X: 100 Y: 25 (координаты Tbitmap). Как это сделать? |
|
Вернуться к началу |
|
 |
Михаил Власов

Зарегистрирован: 14.02.2005 Сообщения: 580 Откуда: ИНТЕГРО
|
Добавлено: Пн 27 Апр 2009 14:37 Заголовок сообщения: |
|
|
Если не хочется ручкаться с геометрией, можно использовать объект IInImage: Код: | var
anImage: IInImage;
aNavigator: IIngeoMatrixProjectionNavigator;
anImageX, anImageY: Integer;
aWorldX, aWorldY: Double;
begin
anImage := Ingeo.CreateObject(inocImage, Null) as IInImage;
anImage.ResolutionX := screen.PixelsPerInch;
anImage.ResolutionY := screen.PixelsPerInch;
anImage.Width := img.Width;
anImage.Height := img.Height;
aNavigator := anImage.Surface.Navigator as IIngeoMatrixProjectionNavigator;
aNavigator.XAngle := DegToRad(90);
aNavigator.YMirror := True;
aNavigator.Navigate(x_c, y_c, 1/masht);
// Перевод из координат территории в координаты изображения
anImage.Surface.PointDeviceToWorld(1234567, 2173453, anImageX, anImageY);
// Перевод из координат изображения в координаты территории
anImage.Surface.PointWorldToDevice(100, 25, aWorldX, aWorldY);
... |
P.S. Этот-же объект можно использовать и для формирования изображений. _________________ С уважением, Михаил Власов. |
|
Вернуться к началу |
|
 |
unm
Зарегистрирован: 09.11.2008 Сообщения: 27
|
Добавлено: Пн 27 Апр 2009 18:29 Заголовок сообщения: |
|
|
Спасибо буду пробывать) |
|
Вернуться к началу |
|
 |
|