用openpicturedialog打开图片前,如何限制所打开的图片大小?
procedure TForm1.Button2Click(Sender: TObject);
begin
if openpicturedialog1.Execute then
image1.Picture.LoadFromFile(openpicturedialog1.FileName );
end;
现在通过openpicturedialog1可以打开需要的图片文件,比如jpg等,但想在打开之前再做个限制图片大小的判断
比如 当图片大小>30KB的时候,image不可以获取该图片;
当图片大小<30KB的时候,image可以获取该图片。
该怎么写呢,麻烦大神们给段代码,新手学习下,用GetFileSize ???还是什么别的,图片大小和文件大小的获取方法一样吗? 图片
[解决办法]
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;
这一种如果判断的文件被其它程序使用,则会报错 I/O Error
下面这种方法相对更好一些
也可以使用下面的方法:
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