前几天我问了这个问题,并得到了答案: How to add a picture frame and insert the text in the image?如何缩小JPG文件的大小?
现在,当我保存从TPanel(1X形状,1个的TImage,2倍的TLabel)为JPG文件内容,
大小的JPG文件是从TIkb中的20kb大小增加到620kb。
尺寸几乎相同。原始JPG文件320x320,新JPG图片361x440。
那么,如何缩小这个尺寸呢?
这是答案的第一个问题,从@iPath,所以这是新的JPG文件的创建:
procedure TForm1.SavePanelAsImage;
var
img: TBitmap;
begin
img := TBitmap.Create;
try
img.Width := fpPanel.Width;
img.Height := fpPanel.Height;
fpPanel.PaintTo(img.Canvas, 0, 0);
img.SaveToFile(fpFileName);
finally
img.Free;
end;
end;
正在创建位图文件!在我的答案的注释部分我提到你必须使用TJPEGImage将位图转换为Jpeg。我的例子保存了一张位图,就像@David Heffernan澄清的那样;) –
小心这个,顺便说一句。 JPEG是一种有损压缩算法,这意味着如果您保存图像并重新加载图像,则无法得到完全相同的图像。所以如果你多次编辑它,每次保存为JPEG,你的图像将遭受多代的损失。 –