| Предыдущая тема :: Следующая тема   | 
	
	
	
		| Автор | 
		Сообщение | 
	
	
		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    Заголовок сообщения:  | 
				     | 
			 
			
				
  | 
			 
			
				| Спасибо буду пробывать) | 
			 
		  | 
	
	
		| Вернуться к началу | 
		 | 
	
	
		  | 
	
	
		 |