zoukankan      html  css  js  c++  java
  • Delphi 2010 新增功能之: TWICImage 类[3] 图像的比例变换


    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.
    
  • 相关阅读:
    PHP设计模式之适配器模式
    PHP设计模式之注册模式
    PHP中 构造函数(__construct)和析构函数(__destruct)
    PHP中 extends、implements、abstract、interface 的区别
    proxysql
    安装xtrabackup并进行全量备份
    锁解析
    索引与算法
    约束
    show语句
  • 原文地址:https://www.cnblogs.com/del/p/1586908.html
Copyright © 2011-2022 走看看