导航:首页 > 文件处理 > 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图片压缩相关的资料

热点内容
数控车ug编程步骤 浏览:6
如何精准推广app 浏览:175
高中数学教材pdf人教版 浏览:152
什么app能看明星演唱会 浏览:493
ug刀柄放到哪个文件夹 浏览:321
eclipse编写php 浏览:673
php抓取网页内容的代码 浏览:867
什么是萌鸭app 浏览:861
变量的数字如何变化python 浏览:794
整数压缩 浏览:993
最优停止策略问题算法 浏览:716
pdf图片背景 浏览:766
app的图标有什么风格 浏览:28
python代码运行编译器 浏览:936
魔鬼训练程序员 浏览:686
php上传大文件失败 浏览:602
sw服务器指定端口怎么填 浏览:189
java有哪些数组 浏览:985
程序员戴手表影响工作吗 浏览:235
游戏皇后解压视频 浏览:367