调整图像大小并保存输出
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;
我在 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;