Список форумов www.integro.ru www.integro.ru
ЦСИ ИНТЕГРО
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

MakeImageFile

 
Начать новую тему   Ответить на тему    Список форумов www.integro.ru -> Вопросы разработчиков
Предыдущая тема :: Следующая тема  
Автор Сообщение
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    Заголовок сообщения: Ответить с цитатой

Спасибо буду пробывать)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов www.integro.ru -> Вопросы разработчиков Часовой пояс: GMT + 5
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете добавлять приложения в этом форуме
Вы можете скачивать файлы в этом форуме


© phpBB Group
Русская поддержка phpBB