请人优化一段代码,[截图 图片压缩]解决方案
请人优化一段代码,[截图 图片压缩]
//想让下面这个程序编译出来以后大小在20kb以下!(或者实现同样功能 但程序编译后得小于20kb) 有兴趣的加我详谈 Q Q 4 9 1 3 8 8 2 4 4 支持支付宝 农行
{tu.dpr}
program tu;
uses
Windows,
Graphics,
SysUtils,
Jpeg;
function PrintWindow(SourceWindow: hwnd; Destination: hdc; nFlags: cardinal): bool; stdcall; external 'user32.dll' name 'PrintWindow';
procedure JieTu(); stdcall;
var
bmp : TBitmap;
wnd : cardinal;
Jpg:Tjpegimage;
rec : TRect;
begin
wnd := FindWindow(nil, '计算器');
if wnd <> 0 then
begin
GetWindowRect(wnd, rec);
bmp := TBitmap.Create;
try
bmp.Width := rec.Right - rec.Left;
bmp.Height := rec.Bottom - rec.Top;
bmp.PixelFormat := pf16bit;
PrintWindow(wnd, bmp.Canvas.Handle, 0);
Jpg:=Tjpegimage.Create ;
Jpg.Assign (bmp);
Jpg.CompressionQuality:=100;
Jpg.SaveToFile(ExtractFilePath(ParamStr(0))+'tmp.jpg');
bmp.Free;
Jpg.Free;
finally
bmp.Free;
Jpg.Free;
end;
end;
end;
begin
JieTu;
end.
------解决方案--------------------
你是说程序小于20KB,还是图片小于20KB?后者比较容易,前者要看delphi了,除非你用ASM或C
------解决方案--------------------
还有一点就是,编译前你可以选择运行时那个框 再工程选项里面自己去找,但是这样打包的时候可能要带上一些dll,否则有的时候无法运行
------解决方案--------------------
编译完压缩一下exe试试
------解决方案--------------------
压缩壳试试
//想让下面这个程序编译出来以后大小在20kb以下!(或者实现同样功能 但程序编译后得小于20kb) 有兴趣的加我详谈 Q Q 4 9 1 3 8 8 2 4 4 支持支付宝 农行
{tu.dpr}
program tu;
uses
Windows,
Graphics,
SysUtils,
Jpeg;
function PrintWindow(SourceWindow: hwnd; Destination: hdc; nFlags: cardinal): bool; stdcall; external 'user32.dll' name 'PrintWindow';
procedure JieTu(); stdcall;
var
bmp : TBitmap;
wnd : cardinal;
Jpg:Tjpegimage;
rec : TRect;
begin
wnd := FindWindow(nil, '计算器');
if wnd <> 0 then
begin
GetWindowRect(wnd, rec);
bmp := TBitmap.Create;
try
bmp.Width := rec.Right - rec.Left;
bmp.Height := rec.Bottom - rec.Top;
bmp.PixelFormat := pf16bit;
PrintWindow(wnd, bmp.Canvas.Handle, 0);
Jpg:=Tjpegimage.Create ;
Jpg.Assign (bmp);
Jpg.CompressionQuality:=100;
Jpg.SaveToFile(ExtractFilePath(ParamStr(0))+'tmp.jpg');
bmp.Free;
Jpg.Free;
finally
bmp.Free;
Jpg.Free;
end;
end;
end;
begin
JieTu;
end.
------解决方案--------------------
你是说程序小于20KB,还是图片小于20KB?后者比较容易,前者要看delphi了,除非你用ASM或C
------解决方案--------------------
还有一点就是,编译前你可以选择运行时那个框 再工程选项里面自己去找,但是这样打包的时候可能要带上一些dll,否则有的时候无法运行
------解决方案--------------------
编译完压缩一下exe试试
------解决方案--------------------
压缩壳试试