![]() |
|
|
#1
|
||||
|
||||
|
Предлагаю вашему вниманию программку собственного производства. Простая до безобразия, но в некоторых случаях очень полезная.
Программа для массовой перегонки .BMP в .JPG. Программу достаточно положить в ту папку, в которой у вас куча БМП-файлов загромождающих винт, и ткнуть кнопку "конвертировать" - конвертирует все БМП-файлы в своей директории и всех ее поддиректориях. Быстро и удобно. Прогрессбара у программы нет, так что если файлов много - наберитесь терпения, на конвертацию требуется время. Установка не требуется. Download (rar, 211 кб) |
|
#2
|
||||
|
||||
|
Ну незнаю, очень просто, вот лично я писал прогу по подготовке файлов для размещения в сети, когда требовалось при фиксированном размере, н-р, пережать файл с максимальным качеством. Также поддерживалась изменение размера изображений. Входными могли быть разные файлы изображений, а выходными BMP и JPG.
|
|
#3
|
||||
|
||||
|
Я и не утверждаю что тут что-то сложное, напротив - сказал ведь что программа простая до безобразия. Написал за пару часов.
|
|
#4
|
|||
|
|||
|
пишет ошибку: I/O error 123.
и ссылка не действительна, можете перезалить файл? |
|
#5
|
|||
|
|||
|
Слушай, ну такую мог бы и сам написать...
Вот код, набросаный за 15 минут: Код:
program Bmp2Jpg;
{$APPTYPE CONSOLE}
uses
SysUtils,
Graphics,
Jpeg,
Masks;
procedure ConverBmpToJPEG(ASourceFileName : String);
var
Bmp : TBitmap;
Jpg : TJPEGImage;
ATargetFileName : String;
begin
ATargetFileName := ChangeFileExt(ASourceFileName,'.jpg');
Write(Format('Convert: %s -> %s...',[ASourceFileName,ATargetFileName]));
Bmp := TBitmap.Create;
Try
Try
Bmp.LoadFromFile(ASourceFileName);
Jpg := TJPEGImage.Create;
Try
Jpg.Assign(Bmp);
Jpg.CompressionQuality := 80;
Jpg.SaveToFile(ATargetFileName);
Finally
Jpg.Free;
End;
Finally
Bmp.Free;
End;
WriteLn('OK');
Except
WriteLn('FAILED');
End;
end;
procedure ConvertFiles(APath : String; ARecursive : Boolean);
var
I : Integer;
F : TSearchRec;
begin
APath := IncludeTrailingPathDelimiter(APath);
I := FindFirst(APath + '*.*',faAnyFile,F);
While I = 0 Do
Begin
If (F.Attr And faDirectory) <> 0
Then
Begin
If (F.Name <> '.') And (F.Name <> '..') And ARecursive Then
Convertfiles(APath+F.Name,ARecursive);
End
Else
If MatchesMask(F.Name,'*.bmp')
Then ConverBmpToJPEG(APath + F.Name);
I := FindNext(F);
End;
FindClose(F);
end;
var
IsRec : Boolean;
begin
WriteLn('Convert BMPs To JPEGs');
WriteLn;
IsRec := False;
If ParamCount = 1 Then
IsRec := LowerCase(ParamStr(1)) = '-r';
ConvertFiles(ExtractFilePath(ParamStr(0)),IsRec);
end. |
|
#6
|
||||
|
||||
|
Ну что вы накинулись? Вполне полезная программка! (я себе тоже такую писал
). Доработай, поставь прогрессбар и расширь функционал! Успешных начинаний! |