永发信息网

Delphi 图像比例缩放问题 高手来啊

答案:1  悬赏:0  手机版
解决时间 2021-05-15 15:10
  • 提问者网友:無理詩人
  • 2021-05-14 16:37

编译器是Delphi 2010

程序错误很多啊

哪个帮忙改下

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 Wincode;

procedure TForm1.Button1Click(Sender: TObject);
var
WicImg: TWICImage;
Factory: IWICImagingFactory;
Scaler: IWICBitmapScaler; {图像比例变换接口}
begin
WicImg := TWICImage.Create;
WicImg.LoadFromFile('c:\temp\test.jpg');
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.

最佳答案
  • 五星知识达人网友:你可爱的野爹
  • 2021-05-14 17:59

非常简单


第一个错误是你的单元引用错误


应该是 uses Wincodec;


第二个错误是没有对IWI图像进行关联


在 Factory.CreateBitmapScaler(Scaler);上面加一句


Factory := WicImg.ImagingFactory;


我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯