| Предыдущая тема :: Следующая тема   | 
	
	
	
		| Автор | 
		Сообщение | 
	
	
		gargon
 
 
  Зарегистрирован: 14.12.2006 Сообщения: 14
 
  | 
		
			
				 Добавлено: Чт 01 Сен 2011 19:20    Заголовок сообщения: Проблема с символьным методом отрисовки | 
				     | 
			 
			
				
  | 
			 
			
				Имею код, который раньше рисовал столбчатые диаграммы в центре объекта, сейчас он работать перестал. Рисуется только одна точка контура
 
 
 	  | Код: | 	 		  
 
 Obj:=Fapp.ActiveDb.MapObjects.GetObject(ID);
 
 FEdgeSymb := FApp.CreateObject(inocContour, varEmpty) as IIngeoContour;
 
 FEdgeSymb.Insert(-1).InsertVertex(-1, 0, 0, 0);
 
 FEdgeSymb[0].SetVertex(0, (Obj.X2+Obj.X1)/2,(Obj.Y2+Obj.Y1)/2, 0);
 
 
 FPainter := FApp.CreateObject(inocPainter, inptSymbol) as IIngeoSymbolPainter;
 
 FPainter.PaintMethod:=0;
 
 FPainter.PictureZoomScale :=1/500;
 
 
 FFigE:=FPainter.Picture.Figures.Add(inftRect) as IInPictureRectFigure;
 
 FFigE.Width:=15;
 
 FFigE.Height:=E*k; //некоторое значение, умноженное на коэффициент
 
 FFigE.Left:=0;
 
 FFigE.Bottom:=-7;
 
 FFigE.Brush.BackColor:=ColorToRGB(clGray);
 
 
 FPainter.PaintContour(FApp.MainWindow.MapWindow.Surface, FEdgeSymb, '');
 
 
 | 	  
 
 
 В чем ошибка? | 
			 
		  | 
	
	
		| Вернуться к началу | 
		 | 
	
	
		  | 
	
	
		APopov
 
 
  Зарегистрирован: 19.06.2006 Сообщения: 347 Откуда: Самара
  | 
		
			
				 Добавлено: Пт 02 Сен 2011 12:45    Заголовок сообщения:  | 
				     | 
			 
			
				
  | 
			 
			
				проверьте координаты в которых он рисует, может отрисовка происходит не там, где вы ее ожидаете (посмотрите Obj.X2 и т.д.) _________________ ОАО "Самара-Информспутник",
 
   инженер-программист Попов Артем | 
			 
		  | 
	
	
		| Вернуться к началу | 
		 | 
	
	
		  | 
	
	
		RuslanG
 
  
  Зарегистрирован: 10.07.2005 Сообщения: 171 Откуда: ИНТЕГРО
  | 
		
			
				 Добавлено: Пт 02 Сен 2011 14:31    Заголовок сообщения:  | 
				     | 
			 
			
				
  | 
			 
			
				Попробуйте задать размеры рисунка:
 
 	  | Код: | 	 		  FPainter.PictureZoomScale := 1/500;
 
 
FPainter.Picture.X1 := 0;
 
FPainter.Picture.X2 := 15;
 
FPainter.Picture.Y1 := -7;
 
FPainter.Picture.Y2 := E*k;
 
 
FFigE:=FPainter.Picture.Figures.Add(inftRect) as IInPictureRectFigure; | 	 
  _________________ С уважением, Руслан Гадеев
 
Видео уроки ИнГео
 
Документация ИнГео
 
Обновления ИнГео
 
Интегропедия | 
			 
		  | 
	
	
		| Вернуться к началу | 
		 | 
	
	
		  | 
	
	
		gargon
 
 
  Зарегистрирован: 14.12.2006 Сообщения: 14
 
  | 
		
			
				 Добавлено: Пт 02 Сен 2011 15:59    Заголовок сообщения:  | 
				     | 
			 
			
				
  | 
			 
			
				| Руслан, помогло. Спасибо! | 
			 
		  | 
	
	
		| Вернуться к началу | 
		 | 
	
	
		  | 
	
	
		 |