![]() |
|
|
#1
|
|||
|
|||
|
Помогите пожалуйсто новечку.
Надо по нажатию кнопки, открыть A (A=количество) изображений в паямть,затем из A извлеч кол во открытых изображений(B),выполнить подпрограмму B раз а потом сохранить открытые изображения нудопустим с Именем NoName(С) где С- порядковый номер изображения |
|
#2
|
|||
|
|||
|
Ничего не понял.
Можешь написать подробнее и понятнее. Ну и свой код в студию или в раздел "Работа" со всеми вытекающими... |
|
#3
|
||||
|
||||
|
Начинаю телепать:
Необходимо загрузить 100 картинок в формате JPG, всех их привести к размеру 768х1024 и сохранить с качеством сжатия 65% под новым именем. Примерно так? |
|
#4
|
|||
|
|||
|
Цитата:
|
|
#5
|
||||
|
||||
|
Держите готовую утилю. Я сегодня добрый.
Код:
program JpgTran;
{$APPTYPE CONSOLE}
uses
SysUtils,Graphics,JPeg;
Var
Path: String;
FileInfo: TSearchRec;
FileNo,Width: Integer;
Scale: Double;
Jpg: TJpegImage;
Bmp: TBitmap;
begin
if ParamCount < 2
then begin
WriteLn('Example: JpgTran c:\jpglib\ 768');
Exit;
end;
Path := Paramstr(1);
Width := StrToInt(Paramstr(2));
FileNo := 0;
try
if FindFirst(Path+'*.jpg',faAnyFile,FileInfo) = 0
then repeat
Inc(FileNo);
Jpg := TJpegImage.Create;
Jpg.LoadFromFile(Path + FileInfo.Name);
Scale := Width / Jpg.Width;
Bmp := TBitmap.Create;
Bmp.Width := Round(Jpg.Width * Scale);
Bmp.Height := Round(Jpg.Height * Scale);
Bmp.Canvas.StretchDraw(Bmp.Canvas.ClipRect, Jpg);
Jpg.Assign(Bmp);
Jpg.SaveToFile(Format('%s%d.jpg',[Path,FileNo]));
Bmp.Free;
Jpg.Free;
until FindNext(FileInfo) <> 0;
except
WriteLn('Error! Program aborted.');
Exit;
end;
end. |
|
#6
|
|||
|
|||
|
Пасибо тебе большое
|