我想在运行中更改Graphics32的TImgView32的重采样内核。但是没有明显的区别。这是代码:
procedure TForm1.FormCreate(Sender: TObject);
begin
ImgView321.Bitmap.LoadFromFile('1.bmp');
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
ImgView321.Scale := ImgView321.Scale*2;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
ImgView321.Scale := ImgView321.Scale/2;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
ImgView321.Bitmap.ResamplerClassName := 'TKernelResampler';
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
ImgView321.Bitmap.ResamplerClassName := 'TNearestResampler'
end;
当您选择'TKernelResampler'时,指定使用的内核很重要。默认值为TBoxKernel,其结果与'TNearestResampler'几乎相同
事实上,从视觉角度来看,它只是一个不同的计算。
尝试使用'TCubicKernel'或'TLanczosKernel'。为了获得更多控制,您还可以选择'THermiteKernel'或'TAlbrechtKernel',它有两个控制参数(而不是一个)。