![]()  | 
	
 
  | 
		
			
  | 	
	
	
		
		|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны | 
![]()  | 
	
	
| 
		 | 
	Опции темы | Поиск в этой теме | Опции просмотра | 
| 
		 
			 
			#1  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 У меня в программе надо сделать линейку окраска которой менялась бы от синего на одном конце к зелёному посередине и красному на другом конце плавно. Как это сделать в системе RGB никак ума не приложу. 
		
	
		
		
		
		
		
	
		
		
	
	
	Если кто сталкивался с такой проблеммой или знает как её решить, ПОДСКАЖИТЕ.  | 
| 
		 
			 
			#2  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Надо использовать два линейных участка. Пример (на форме PaintBox1 высотой 511): 
		
	
		
		
		
		
		
	
		
		
	
	
	Код: 
	procedure TForm1.PaintBox1Paint(Sender: TObject);
var
  I: Integer;
begin
  for I:= 0 to 255 do
  begin
    PaintBox1.Canvas.Pen.Color:= RGB(0, I, 255-I);
    PaintBox1.Canvas.Polyline([Point(0, I), Point(PaintBox1.Width, I)]);
  end;
  for I:= 0 to 255 do
  begin
    PaintBox1.Canvas.Pen.Color:= RGB(I, 255-I, 0);
    PaintBox1.Canvas.Polyline([Point(0, 255+I), Point(PaintBox1.Width, 255+I)]);
  end;
end; |