 
			
				10.03.2021, 17:55
			
			
			
		  
	 | 
	
		
		
		
			
			| 
			
				
				
				 Новичок 
				
				
			 | 
			  | 
			
				
				
					Регистрация: 22.04.2012 
					
					
					Сообщения: 99
 
				
					Репутация: 10 
					    
				 
				
			 | 
		 
		 
		
	 | 
	
	
	
		
			
			
				 
				
			 
			 
			
		
		
		
		
	Цитата: 
	
	
		| 
			
				 Сообщение от dr. F.I.N. 
				Иерархия такая: TGraphicControl -> TJvGraphicControl -> TJvlabel 
Следовательно TJvlabel не имеет метода PaintTo (данный метод реализован у наследников TWinControl). 
Однако, TGraphicControl может обрабатывать сообщения, следовательно можно отправить ему WM_PAINT и подсунуть нужный канвас (HDC). 
Напрямую отрисовать на TImage у меня не получилось, но с временным битмапом отрабатывает на ура:
 
	Код: 
	procedure TForm1.Button1Click(Sender: TObject);
var
  bmp: TBitmap;
begin
  bmp := TBitmap.Create; // создаем временный битмап
  bmp.Assign(Image1.Picture); // загружаем в него содержимое TImage
  MoveWindowOrg(bmp.Canvas.Handle, 120, 30);  // устанавливаем X и Y отрисовки напдписи
  Label1.Perform(WM_PAINT, bmp.Canvas.Handle, 0); // отрисовываем надпись
  image1.Picture.Assign(bmp); // загружаем в TImage содержимое временного битмапа
  bmp.Free;  // уничтожаем временный битмап
end;  
 
У меня не установлен TJvlabel, в примере отрисовка кастомного TLabel.
 
Собственно, это что-то примитивной реализации метода PaintTo для TGraphicControl, который можно доработать под себя.  
			
		 | 
	 
	 
 
заработало, только размер текста лайбл не пропорционален перерисованному  
		
	
		
		
		
		
		
	
		
			
			
			
			
				 
			
			
			
			
		 
		
	
	
	 |