导航:首页 > 文件处理 > delphi图片压缩

delphi图片压缩

发布时间:2024-03-16 14:55:58

Ⅰ 如何减小Delphi应用程序(EXE)的大小

01) 使用加壳工具(如 UPX,ASPack 等)
02) 使用 KOL
03) 不使用VCL来编写程序
04) 使用 ACL (API 控制库)
05) 使用 StripReloc
06) 去除运程调试信息与 TD32
07) 把允许的代码写到 DLL 中
08) 不要在设计时把图片放置在 Form 上,而是运行时加载
09) 使用被压缩的图片(使用JPG 而不用 BMP)
10) 在 DFM 文件中减少属性 !

Ⅱ delphi 怎么来压缩文件

在 delphi 里有多种方式来压缩文件:


1、直接调用系统的压缩软件,比如 winrar,用 ShellExecute / Winexec 执行命令行:


"C:/ProgramFiles/WinRAR/WinRAR.exe"a "d:c.rar""D:Music"


2、使用 delphi 提供的单元文件 zlib.pas 中相关的压缩函数:


示例代码:


//压缩函数
procereZip(varfs:TMemoryStream);
var
cs:TCompressionStream;
ms:TMemoryStream;
num:Integer;
begin
ifnot(Assigned(fs)and(fs.Size>0))thenExit;

num:=fs.Size;
ms:=TMemoryStream.Create;
cs:=TCompressionStream.Create(clMax,ms);
try
fs.SaveToStream(cs);
cs.Free;
//ms.Position:=0;
fs.Clear;
fs.WriteBuffer(num,sizeof(num));
fs.CopyFrom(ms,0);
finally
ms.Free;
end;
end;


3、使用专门的压缩控件,如VCLZip 等。

Ⅲ (DELPHI)已经存入SQLSERVER中的图片数据(image字段)太大,怎么直接在数据库中压缩或怎么用程序实现

delphi 的图像缩放示例代码如下:

//将图片缩放至指定大小
procereSizeBmp(constSource,Dest:string;constx,y:integer);
var
aBmp,bBmp:tbitmap;
scalex,scaley:real;
begin
aBmp:=TBitmap.Create;
bBmp:=TBitmap.Create;
try
aBmp.LoadFromFile(Source);
scaley:=aBmp.Height/y;
scalex:=aBmp.Width/x;
bBmp.Width:=round(aBmp.Width/scalex);
bBmp.Height:=round(aBmp.Height/scaley);
bBmp.PixelFormat:=pfDevice;
SetStretchBltMode(bBmp.Canvas.Handle,COLORONCOLOR);
StretchBlt(bBmp.Canvas.Handle,0,0,bBmp.Width,bBmp.Height,
aBmp.Canvas.Handle,0,0,aBmp.Width,aBmp.Height,src);
bBmp.SaveToFile(Dest);
finally
aBmp.Free;
bBmp.Free;
end;
end;

procereTForm1.btn1Click(Sender:TObject);
begin
SizeBmp('e:1112.bmp','e:1112_small.bmp',640,480);
end;
阅读全文

与delphi图片压缩相关的资料

热点内容
人道pdf 浏览:610
分类视觉算法 浏览:257
android弹出键盘位置 浏览:451
安卓怎么下载爱思助 浏览:985
安卓机的呼叫怎么开启 浏览:355
腾讯服务器硬盘什么价 浏览:841
交换机关闭所有端口命令 浏览:91
程序员可以开网店吗 浏览:115
算法工程师面试经验 浏览:686
有什么好用的陪聊app 浏览:698
什么是备中心服务器 浏览:144
linux配置本地yum源 浏览:539
半导体器件与工艺pdf 浏览:528
超大文件解压太慢 浏览:861
微光app主页的爱心代表什么意思 浏览:563
程序员和饺子做饭 浏览:307
美团app的点击骑车在哪里 浏览:723
程序员标配条件 浏览:211
免费电脑解压app排行榜前十名 浏览:189
顺序表查找算法 浏览:463