|
|
#1
|
||||
|
||||
BMPtoJPGConvertor
Предлагаю вашему вниманию программку собственного производства. Простая до безобразия, но в некоторых случаях очень полезная.
Программа для массовой перегонки .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
|
||||
|
||||
Ну что вы накинулись? Вполне полезная программка! (я себе тоже такую писал ). Доработай, поставь прогрессбар и расширь функционал! Успешных начинаний!
Последний раз редактировалось Admin, Сегодня в 10:32. |