调整图像大小并保存输出

Resize images and save output

我在 SO 上看到很多questions/Answers关于调整图像大小的内容。

但我找不到适合我情况的正确选项。

In this post,只有当你想从一个大图像中得到一个小图像时才有效。

但是,如果您有一张 24x24 尺寸的图片并且您想要将其调整为 256x256 尺寸,procedure 将失败并给您一个扭曲的图片。

下面的代码是我试图解决我的问题

  Graph := TBitmap.Create;
  try   // After loading a .bmp file to Image1 with 48x48 dimension 
    Graph.Assign( Image1.Picture.Bitmap );
    Graph.Canvas.StretchDraw(Rect(0, 0, 255, 255), Graph);
    Graph.SetSize(255,255);
    Graph.SaveToFile('Location\Resault.bmp');
  finally
    Graph.Free;
  end;

原图:

结果(左上角黑色部分的白色方块):

我们如何将图像加载到 TImage 和 convert/resize 并保存更改?

感谢 kobik 的评论,很有用。

var Graph : TBitmap; Conv : TBitmap;
begin

      Graph := TBitmap.Create;
      try
        Graph.Assign( Image1.Picture.Bitmap );
        Conv := TBitmap.Create;
        try
          Conv.SetSize(255,255);
          Conv.Canvas.StretchDraw(Rect(0, 0, 255, 255), Graph);
          Conv.SaveToFile('Location\Resault.bmp');   
        finally
          Conv.Free;
        end;

      finally
        Graph.Free;
      end;

end;