程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> GdiPlus[51]: 圖像(三) 關於呈現

GdiPlus[51]: 圖像(三) 關於呈現

編輯:Delphi

 相關方法:

IGPGraphics.DrawImage(); 
IGPImage.GetThumbnailImage(); 
IGPImage.RotateFlip(); 

  用 DrawImage 呈現圖像時, 是否指定 Width 和 Height 的區別:

GdiPlus[51]: 圖像(三) 關於呈現

//如果圖像的分辨率與 Graphics 的分辨率不一致, 則指定 Width、Height 是有必要的.  
uses GdiPlus; 
 
procedure TForm1.FormPaint(Sender: TObject); 
var 
 Graphics: IGPGraphics; 
 Image: IGPImage; 
 ix,iy,gx,gy: Single; 
begin 
 Image := TGPImage.Create('C:\GdiPlusImg\Shapes.bmp' ); 
 Graphics := TGPGraphics.Create(Handle); 
 
 Graphics.DrawImage(Image, 10 , 10, Image.Width, Image.Height); 
 Graphics.DrawImage(Image, Image.Width + 20, 10); 
 
 ix := Image.HorizontalResolution; 
 iy := Image.VerticalResolution; 
 gx := Graphics.DpiX; 
 gy := Graphics.DpiY; 
 Text := Format('%.0f:%.0f; %.0f:%.0f', [ix, iy, gx, gy]); 
end; 

  略縮圖:

GdiPlus[51]: 圖像(三) 關於呈現

uses GdiPlus; 
 
procedure TForm1.FormPaint(Sender: TObject); 
var 
 Graphics: IGPGraphics; 
 Thumbnail,Image: IGPImage; 
begin 
 Image := TGPImage.Create('C:\GdiPlusImg\Apple.gif'); 
 Thumbnail := Image.GetThumbnailImage(32, 32); 
  
 Graphics := TGPGraphics.Create(Handle); 
 Graphics.DrawImage(Image, 0, 0, Image.Width, Image.Height); 
 Graphics.DrawImage(Thumbnail, Image.Width + 2, 0, Thumbnail.Width, Thumbnail.Height); 
end; 

  圖像旋轉:

GdiPlus[51]: 圖像(三) 關於呈現

uses GdiPlus; 
 
procedure TForm1.FormPaint(Sender: TObject); 
var 
 Graphics: IGPGraphics; 
 Image,ImageClone: IGPImage; 
 i: Integer; 
begin 
 Image := TGPImage.Create('C:\GdiPlusImg\Bird.bmp'); 
 Graphics := TGPGraphics.Create(Handle); 
 
 for i := 0 to 7 do 
 begin 
  ImageClone := Image.Clone; 
  ImageClone.RotateFlip(TGPRotateFlipType(i)); 
  Graphics.DrawImage(ImageClone, 10, 10, Image.Width, Image.Height); 
  Graphics.TranslateTransform(Image.Width + 10, 0); 
  if i = 3 then 
  begin 
   Graphics.TranslateTransform(-Graphics.Transform.OffsetX, Image.Height + 10); 
  end; 
 end; 
end; 


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved