请教如何将我如下的代码修改为控制图片文件不超过20K, 高 × 宽 为 140 × 100 像素。procedure TForm3.SpeedButton11Click(Sender: TObject);
begin
if openpicturedialog1.Execute then
begin
dbimage1.Picture.LoadFromFile(openpicturedialog1.FileName);
dbimage1.CopyToClipboard;
dbimage1.PasteFromClipboard;
end;谢谢,……
begin
if openpicturedialog1.Execute then
begin
dbimage1.Picture.LoadFromFile(openpicturedialog1.FileName);
dbimage1.CopyToClipboard;
dbimage1.PasteFromClipboard;
end;谢谢,……
Delphi自身提供了FileSize函数,例如:
var
f: file of Byte;
size : Longint;
begin
AssignFile(f, 'f:\t.exe');
Reset(f);
size := FileSize(f);
edit1.text := IntToStr(size);
CloseFile(f);
end;
也可以使用下面的方法:
function GetFileSize(const FileName: String): LongInt;
var SearchRec: TSearchRec;
begin
if FindFirst(ExpandFileName(FileName), faAnyFile, SearchRec) = 0 then
Result := SearchRec.Size
else
Result := -1;
end;
var
f: file of Byte;
size : Longint;
begin
OpenDialog1.Filter:='JPG File(*.jpg)|*.jpg';
if OpenDialog1.Execute then
begin
AssignFile(f, OpenDialog1.FileName);
Reset(f);
size := FileSize(f) div 1024; // KB
CloseFile(f);
if size <= 20 then
begin
dbimage1.Picture.LoadFromFile(openpicturedialog1.FileName);
dbimage1.CopyToClipboard;
dbimage1.PasteFromClipboard;
end
else
ShowMessage('图片大小不能超过20KB');
end;
end;楼主信誉值有问题,不指望得分了。
我觉得方法也有以上老兄们说在这么多了,delphi存取数据库文件是文件流的方式进行的,所以判断图片的高度和宽度是有难度的。
给你个建议:可以将图片文件保存在一个目录下,用的时候再调用。数据库存图片缺点太多了,备份也麻烦,最好不要用。