Страница: 1 | 2 | 
		
		 
			   
			 
			 
			 
			 
			
 
  
		
     
  
    
Вопрос: Градиент
     
    
Добавлено: 14.05.05 20:22
     
      
  
				
			  
					 
			
				 
    
		
       
    
Автор вопроса:  
    
 gvozd | Web-сайт: www.gvozdsoft.com
      
       
  
 
    
				
		
		
					 
			
				 
  
		
     
  
    
Ответы
     
    
Всего ответов: 25
     
      
  
		
	  
			 
	
		 
    
       
    
Номер ответа: 16 
      
Автор ответа:
 HOOLIGAN
![]()
Вопросов: 0
Ответов: 1066
      
 Профиль |  | #16
       
Добавлено:  15.05.05 20:06
       
    
       
  
Да вроде я не путал никого, только пытался спросить у Vik про карандаш. Получается что это Vik несет ересь и запутывает людей с карандашами?
 
    
		
	  
			 
	
		 
    
       
    
Номер ответа: 17 
      
Автор ответа:
 Morpheus
![]()
![]()
![]()
![]()
Вопросов: 224
Ответов: 3777
      
 Web-сайт:  
 Профиль |  | #17
      
Добавлено:  15.05.05 20:32
       
    
       
  
 
    
Блиин... как наверное он над вами щас угорает 
LinearGradientBrush или PathGradientBrush,
 
заливку, то нужна соответственно и градиентная кисть - градиентны кистей 
несколько, они находятся в пространстве имен System.Drawing.Drawing2d. 
Эээй! давайте ребят без пошлостей! или в .NET нельзя просто по циклу пройтись и линии нарисовать????????????
		
	  
			 
	
		 
    
       
    
Номер ответа: 18 
      
Автор ответа:
 gvozd
![]()
Разработчик Offline Client
Вопросов: 164
Ответов: 1317
      
 Web-сайт:  
 Профиль |  | #18
      
Добавлено:  15.05.05 20:55
       
    
       
  
Так, я разобрался! Вот функция:
 
    
        Dim m_Brush As Brush
        Dim m_BrushSize As Rectangle
        Dim myGraphics As Graphics
        m_BrushSize = New Rectangle(0, 0, picButton.Width, picButton.Height)
        'picButton.CreateGraphics().Clear(Color.White)
        picButton.Refresh()
        Dim myLinearGradientBrush As New LinearGradientBrush( _
            m_BrushSize, m_Color1, m_Color2, _
            CType(LinearGradientMode.Vertical, LinearGradientMode))
        myLinearGradientBrush.WrapMode = _
            CType(WrapMode.Tile, WrapMode)
        m_Brush = myLinearGradientBrush
        myGraphics = picButton.CreateGraphics()
        myGraphics.FillRectangle(m_Brush, 0, 0, picButton.Width, picButton.Height)
    End Function
Просто я вызывал ее сразу при загрузке формы!
		
	  
			 
	
		 
    
       
    
Номер ответа: 19 
      
Автор ответа:
 HOOLIGAN
![]()
Вопросов: 0
Ответов: 1066
      
 Профиль |  | #19
       
Добавлено:  15.05.05 21:02
       
    
       
  
Ну и славно!
 
    
Morpheus
ну ты и выдал 
)))

Больше всего в этой истории мне понравился твой ответ 
))
Хотел я приколоть Vik'a, а потом Artyom тут вызвался, а под конец получилось, что Morpheus купился 
))
Ребяты, если что, без обид. Это просто шутка была. Про карандаши.
		
	  
			 
	
		 
    
       
    
Номер ответа: 20 
      
Автор ответа:
 Artyom
![]()
![]()
![]()
![]()
![]()
![]()
![]()
Разработчик
Вопросов: 130
Ответов: 6602
      
 Профиль |  | #20
       
Добавлено:  15.05.05 22:11
       
    
       
  
 
    
В принципе, можно и через SetPixel градиент сделать.
Теперь небольшая задачка на сообразительность.
Как линиями сделать градиенты, которые можно найти на этих страничках?
http://msdn.microsoft.com/library/en-us/gdicpp/GDIPlus/usingGDIPlus/fillingshapeswithagradientbrush/applyinggammacorrectiontoagradient.asp
http://msdn.microsoft.com/library/en-us/gdicpp/GDIPlus/usingGDIPlus/fillingshapeswithagradientbrush/creatingapathgradient.asp
PS Павлу скажите спасибо за то, что ссылки нормально нельзя вставить. Я, конечно, понимаю, почему нельзя, но все равно более удобным от этого работа с ссылками не становится 
А вообще, если пофлеймить охота, то лучше на wasm.ru попытаться это сделать, по крайней мере намного раньше все желание отпадет, и время останется умными вещами заняться.
		
	  
			 
	
		 
    
       
    
Номер ответа: 21 
      
Автор ответа:
 freeloader 
![]()
![]()
![]()
![]()
![]()
![]()
![]()
ICQ: 50804884 
Вопросов: 72
Ответов: 642
      
 Web-сайт:  
 Профиль |  | #21
      
Добавлено:  16.05.05 01:43
       
    
       
  
 
    
Ну и нафлудили 
На то он и .net, что подход другой 
...
Ну да, только что там разбираться, я тебе дал сразу рабочий исходник 
HOOLIGAN, побольше таких шуток, про карандаши меня прикололо 
		
	  
			 
	
		 
    
       
    
Номер ответа: 22 
      
Автор ответа:
 Morpheus
![]()
![]()
![]()
![]()
Вопросов: 224
Ответов: 3777
      
 Web-сайт:  
 Профиль |  | #22
      
Добавлено:  16.05.05 02:16
       
    
       
  
эээээ! да чё с вами?! группа нормальных людей решают как рисаовать градиент  
    
 90% градиентов рисуются линией, кругом, или на худой конец сетпикселом 
вот с овалами со смещённым центром это пикол конечно 
Как линиями сделать градиенты, которые можно найти на этих страничках? 
http://msdn.microsoft.com/library/en-us/gdicpp/GDIPlus/usingGDIPlus/fillingshapeswithagradientbrush/applyinggammacorrectiontoagradient.asp 
http://msdn.microsoft.com/library/en-us/gdicpp/GDIPlus/usingGDIPlus/fillingshapeswithagradientbrush/creatingapathgradient.asp 
я бы стал их или в фотошопе делать или бы немного тригонометрию вспомнил. в принципе не должно вызвать особых трудностей, хотя не исключаю.
а как по мне - так карандашная кривая - это обычная ломаная (если им штриховать не начать)
особо интерестно было слышать, что
 
 это типа есть выбор: или подстрогать или в краску мокнуть 
ЗЫ: по моему ерись тут никто не несёт, карандаши предлагали юзаь ещё в теме эээээ.
		
	  
			 
	
		 
    
       
    
Номер ответа: 23 
      
Автор ответа:
 ViktorZ
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
ICQ: 271202919 
Вопросов: 56
Ответов: 837
      
 Профиль |  | #23
       
Добавлено:  16.05.05 04:56
       
    
       
  
в Точку морфеус.
 
    
2) А про то чтоб не сломать. Это как давить будешь. Можно и в мониторе отверстие проделать. а избежать этого можно только пройдя курсы рисования. 
		
	  
			 
	
		 
    
       
    
Номер ответа: 24 
      
Автор ответа:
 gvozd
![]()
Разработчик Offline Client
Вопросов: 164
Ответов: 1317
      
 Web-сайт:  
 Профиль |  | #24
      
Добавлено:  16.05.05 10:37
       
    
       
  
freeloader, я же объяснил, что вызывал при загрузке формы, потом рыл пример из 101 VB .NET Sample, потом Павел сказал, что надо вызывать при клике на кнопке, к примеру.
 
    
P.S. Главное, чтобы сюда сейчас не пришли CyRax со sne и не начали говорить, как это на асме делается, и не начали спорить чей градиент быстрее и лучше. 
 По-моему это может скоро произойти.
		
	  
			 
	
		 
    
       
    
Номер ответа: 25 
      
Автор ответа:
 freeloader 
![]()
![]()
![]()
![]()
![]()
![]()
![]()
ICQ: 50804884 
Вопросов: 72
Ответов: 642
      
 Web-сайт:  
 Профиль |  | #25
      
Добавлено:  16.05.05 11:15
       
    
       
  
Тогда непонятно, для чего нужна твоя функция... 
 
    
Вызывай в Form Paint и будет тебе счастье 
P.s. врядли, они наверное обходят форум VB .NET