Страница: 1 | 
		
		 
			   
			 
			 Моя программа рисует сложную графику. Если я вместо установки autoredraw=true (что в .Net невозможно), буду перерисовывать всё это в OnPaint это будет долго и неправильно. Как мне эффективно перерисовывать уже нарисованные картинки в событии paint? Объект Image или что-то другое? 
			 
			 может взять DirectDraw? Страница: 1 | 
 
			
 
  
		
     
  
    
Вопрос: Что вместо AUTOREDRAW?
     
    
Добавлено: 10.10.03 21:46
     
      
  
				
			  
					 
			
				 
    
		
       
    
Автор вопроса:  
     alex_trof
 alex_trof
      
       
  
 
    
				
		
		
					 
			
				 
  
		
     
  
    
Ответы
     
    
Всего ответов: 3
     
      
  
		
	  
			 
	
		 
    
       
    
Номер ответа: 1 
      
Автор ответа: Morpheus
 Morpheus




Вопросов: 224
Ответов: 3777
      
 Web-сайт:  
 Профиль |  | #1
      
Добавлено:  11.10.03 08:02
       
    
       
  
 
    
		
	  
			 
	
		 
    
       
    
Номер ответа: 2 
      
Автор ответа: Павел
 Павел






Администратор
ICQ: 326066673 
Вопросов: 368
Ответов: 5968
      
 Web-сайт:  
 Профиль |  | #2
      
Добавлено:  11.10.03 11:24
       
    
       
  
Ты рисуешь средствами GDI+? Тогда лучше рисовать не на объекте 
    
Graphics, а создать Bitmap. Я точно не помню, как это делается,
почитайте книжку умную или MSDN. Суть в том, что Bitmap не стирается
при перекрывании его на экране другими объектами.
		
	  
			 
	
		 
    
       
    
Номер ответа: 3 
      
Автор ответа: grayk
 grayk

Вопросов: 5
Ответов: 100
      
 Профиль |  | #3
       
Добавлено:  13.10.03 12:46
       
    
       
  
Вообще-то, переопределенный метод OnPaint не рисует огульно всё, что в нем описано. Не знаю как, но по-настоящему перерисовывается только та область холста, которая в этом нуждается. Я пробовал рисовать в нем не то что бы очень сложную графику, но в цикле - очень много простых объектов. Отлично работает.