请教如何将我如下的代码修改为控制图片文件不超过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问题:delphi7能否连接其他电脑上的ACCESS数据库?
- 文件内容问题?
- 关于TIdHttp控件下载完不结束的问题,急急急
- 包头(为字符信息)+包体(为文件流)如何组包发送?server和client都用TWinSocketStream实现
- 共享我自己写的很简单实用的多列功能的Treeview(放弃巨无霸Virtual Treeview吧),但还有点小问题。
- 如何在OleContainer中加入滚动条
- 请问这个功能怎么实现?
- 在连接远程服务器,如何防止死机
- dbgrid可以像资源管理器的listview那样点击排序吗?
- oracle8i 求救
- 简单问题
- 超级小菜,大家看看
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存取数据库文件是文件流的方式进行的,所以判断图片的高度和宽度是有难度的。
给你个建议:可以将图片文件保存在一个目录下,用的时候再调用。数据库存图片缺点太多了,备份也麻烦,最好不要用。