程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> Delphi 2010 新增功能之: TWICImage 類[3] - 圖像的比例變換

Delphi 2010 新增功能之: TWICImage 類[3] - 圖像的比例變換

編輯:Delphi

TWICImage 的 Width、Height 屬性, 可以讀取但不能賦值.

  調整 TWICImage 的大小、比例, 可以通過 IWICBitmapScaler 接口.

//IWICBitmapScaler.Initialize 函數有四種比例變換的算法:  
WICBitmapInterpolationModeNearestNeighbor = 0; 
WICBitmapInterpolationModeLinear     = $1; 
WICBitmapInterpolationModeCubic      = $2; 
WICBitmapInterpolationModeFant      = $3; 

  測試代碼:

unit Unit1; 
 
interface 
 
uses 
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 
 Dialogs, StdCtrls; 
 
type 
 TForm1 = class(TForm) 
  Button1: TButton; 
  procedure Button1Click(Sender: TObject); 
 end; 
 
var 
 Form1: TForm1; 
 
implementation 
 
{$R *.dfm} 
 
uses Wincodec; 
 
procedure TForm1.Button1Click(Sender: TObject); 
var 
 WicImg: TWICImage; 
 Factory: IWICImagingFactory; 
 Scaler: IWICBitmapScaler; {圖像比例變換接口} 
begin 
 WicImg := TWICImage.Create; 
 WicImg.LoadFromFile('c:\temp\test.jpg'); 
 
 Factory := WicImg.ImagingFactory; 
 Factory.CreateBitmapScaler(Scaler); 
 
 Scaler.Initialize(WicImg.Handle, 
          WicImg.Width div 2, WicImg.Height div 3, 
          WICBitmapInterpolationModeFant); 
 
 WicImg.Handle := IWICBitmap(Scaler); 
 Canvas.Draw(0, 0, WicImg); 
 
 Scaler := nil; 
 Factory := nil; 
 WicImg.Free; 
end; 
 
end. 


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