Delphi 2010 新增功能之: TWICImage 类[4] - 图像的修剪


虽然不用 TWICImage 也可以方便实现图像的修剪, 但这是 TWICImage 的方式.

测试代码:

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;

  Clipper: IWICBitmapClipper; {修剪图像的接口}

  r: WICRect;

begin

  WicImg := TWICImage.Create;

  WicImg.LoadFromFile('c:\temp\test.jpg');



  Factory := WicImg.ImagingFactory;

  Factory.CreateBitmapClipper(Clipper);



  r.X := WicImg.Width div 4;

  r.Y := WicImg.Height div 4;

  r.Width := WicImg.Width div 2;

  r.Height := WicImg.Height div 2;

  Clipper.Initialize(WicImg.Handle, r);



  WicImg.Handle := IWICBitmap(Clipper);

  Canvas.Draw(0, 0, WicImg);



  Clipper := nil;

  Factory := nil;

  WicImg.Free;

end;



end.


 
   

你可能感兴趣的:(Delphi)