我能够存成BMP
但BMP文件太大了,请问如何存成JPG文件??
但BMP文件太大了,请问如何存成JPG文件??
解决方案 »
- 关于GpGUID (uniqueidentifier)
- 怎样动态创建Treeview的结点和子结点
- 我如果在厦门工资应该要要求多少呢?找工作时要注意些什么问题?,请有经验的前辈进入谈谈
- 这算不算BUG,还是我自己没搞明白?关于DBMemo
- 如何控制主窗口??
- ▲▲▲如何让MDI主窗口显示时向下凹陷的窗口变成平的??▲▲▲
- 那位高手为我简单介绍一下websnap!
- 神啊,救救我吧,我的分大家一起来分享!
- Delphi for Android
- 在Delphi三层MIS中如何从服务器端获取实际执行的SQL
- VB里有一个LINE控件,能移动,DELPHI里怎么实现?
- 报表的问题!!!!!!!!!!!!
PROGRAM BMPtoJPG;
USES
Graphics, // TBitmap
JPEG, // TJPEGImage
SysUtils; // FindFirst, FindNext, FindLast VAR
Bitmap : TBitmap;
BMPFileName : STRING;
FilePath : STRING;
FileSpec : STRING;
i : INTEGER;
JPEGFilename: STRING;
JPEGImage : TJPEGImage;
Quality : INTEGER;
ReturnCode : INTEGER;
SearchRec : TSearchRec;
StartIndex : INTEGER;BEGIN
IF ParamCount = 0
THEN BEGIN
WRITELN ('BMPtoJPG Command Line Utility');
WRITELN;
WRITELN ('Syntax: BMPtoJPG [quality] filespec1 [filespec2 ...]');
WRITELN;
WRITELN ('Any number of input files (with wildcards) are allowed.');
WRITELN ('Quality = 1..100 or will be treated as a filespec.');
WRITELN ('".BMP" is appended to file specifications if absent.');
WRITELN ('Output files will have the same name as input files but with');
WRITELN ('quality value nnn and .JPG extension.') END
ELSE BEGIN
StartIndex := 1;
Quality := 90; // Default value
TRY
Quality := StrToInt(ParamStr(1));
IF (Quality >= 1) AND (Quality <= 100)
THEN INC(StartIndex)
EXCEPT
// Ignore conversion error
END;
FOR i := StartIndex TO ParamCount DO
BEGIN
FileSpec := ParamStr(i);
IF POS('.BMP', UpperCase(ParamStr(i))) = 0
THEN FileSpec := FileSpec + '.BMP'; FilePath := ExtractFilePath(FileSpec);
ReturnCode := FindFirst(FileSpec, faAnyFile, SearchRec);
WHILE ReturnCode = 0 DO
BEGIN BMPFilename := FilePath + SearchRec.Name;
WRITE (BMPFilename, ' -> '); Bitmap := TBitmap.Create;
TRY
Bitmap.LoadFromFile(BMPFilename); JPEGImage := TJPEGImage.Create;
TRY
JPEGImage.CompressionQuality := Quality;
// Convert BMP to JPG
JPEGImage.Assign(Bitmap); // Strip off '.BMP'
JPEGFilename := COPY(BMPFilename, 1, LENGTH(BMPFilename)-4);
JPEGFilename := JPEGFilename + Format('%3.3d', [Quality]) + '.JPG'; JPEGImage.SaveToFile(JPEGFilename);
WRITELN (JPEGFilename)
FINALLY
JPEGImage.Free
END FINALLY
Bitmap.Free
END; ReturnCode := FindNext(SearchRec)
END; FindClose(SearchRec)
END END
END {BMPtoJPG}.
var
MyJpeg: TJpegImage;
Image1: TImage;
begin
Image1:= TImage.Create(self);
MyJpeg:= TJpegImage.Create;
Image1.Picture.Bitmap.LoadFromFile('c:\windows\desktop\aa.BMP'); // Load the Bitmap from a file
MyJpeg.Assign(Image1.Picture.Bitmap); // Assign the BitMap to MyJpeg object
MyJpeg.CompressionQuality:=StrToInt('75');
MyJpeg.Compress;
MyJpeg.SaveToFile('c:\windows\desktop\test.JPG'); // Save the JPEG to Disk
end;
别忘了,在uses中加入jpeg