Начало » Программирование » Delphi » Путевый TImage 
	
		
		
			| Путевый TImage [сообщение #2179] | 
			Sat, 06 May 2023 00:19   | 
		 
		
			
				
				
				
					
						  
						GrigoryFomin
						 Сообщений: 91 Зарегистрирован: April 2023 
						
					 | 
					Member  | 
					 | 
		 
		 
	 | 
 
	| 
		Подскажите, плз, может кто уже применял. Нжно отображать блоб из БД в виде отсканированного изображения. Ессно, сканы разногоразмера,с пустыми полями. Нужно это дело показать пользователю с возможностью мышкой двигать изображение внутри компонента, если он больше по размеру, ну и плюс возможность Rotate и Flip. cxDBImage от девок вообще мимо, TMS  как я понял, тоже не шмог.
		
		
		
 |  
	| 
		
	 | 
 
 
 |  
	| 
		
 |  
	| 
		
 |  
	| 
		
 |  
	| 
		
 |  
	| 
		
 |  
	
		
		
			| Re: Путевый TImage [сообщение #2205 является ответом на сообщение #2189] | 
			Wed, 10 May 2023 20:46    | 
		 
		
			
				
				
				
					
						  
						GrigoryFomin
						 Сообщений: 91 Зарегистрирован: April 2023 
						
					 | 
					Member  | 
					 | 
		 
		 
	 | 
 
	
		Вообщем, поделюсь, как решил проблему с помощью DevExpress и компонента cxImage 
...... 
procedure TpbRevisionForm.btnFlipHorizClick(Sender: TObject);
var
  ABitmap: TcxAlphaBitmap;
  APngImage: TdxPNGImage;
begin
  ABitmap := TcxAlphaBitmap.CreateSize(img1.Picture.Width, img1.Picture.Height, True);
  ABitmap.Canvas.Draw(0, 0, img1.Picture.Graphic);
  ABitmap.Flip(true,false);
  APngImage := TdxPNGImage.CreateFromBitmap(ABitmap);
  img1.Picture.Graphic := APngImage;
  APngImage.Free;
  ABitmap.Free;
end;
procedure TpbRevisionForm.btnFlipVertClick(Sender: TObject);
var
  ABitmap: TcxAlphaBitmap;
  APngImage: TdxPNGImage;
begin
  ABitmap := TcxAlphaBitmap.CreateSize(img1.Picture.Width, img1.Picture.Height, True);
  ABitmap.Canvas.Draw(0, 0, img1.Picture.Graphic);
  ABitmap.Flip(false,true);
  APngImage := TdxPNGImage.CreateFromBitmap(ABitmap);
  img1.Picture.Graphic := APngImage;
  APngImage.Free;
  ABitmap.Free;
end;
procedure TpbRevisionForm.btnRotateMinusClick(Sender: TObject);
var
  ABitmap: TcxAlphaBitmap;
  APngImage: TdxPNGImage;
begin
  ABitmap := TcxAlphaBitmap.CreateSize(img1.Picture.Width, img1.Picture.Height, True);
  ABitmap.Canvas.Draw(0, 0, img1.Picture.Graphic);
  ABitmap.Rotate(raMinus90);
  APngImage := TdxPNGImage.CreateFromBitmap(ABitmap);
  img1.Picture.Graphic := APngImage;
  APngImage.Free;
  ABitmap.Free;
end;
  
		
		
		
 |  
	| 
		
	 | 
 
 
 |  
	| 
		
 |   
Переход к форуму:
 
 Текущее время: Tue Nov 04 15:53:21 GMT+3 2025 
 Общее время, затраченное на создание страницы: 0.01245 секунд 
 |