-
Как с помощью делфи уменьшить вес фотки?Фотки в среднем весят 10-15 мб и DVD их плохо грузит. Где копать надо???
-
Программно пересохранить в более подходящем формате?
А ещё можно оптимизировать и этот формат?
Всё это позволяет сделать и сторонний специализированный софт
Цель какая: именно программно через Delphi это научиться делать или тупо решить для себя одноразовую бытовую задачу?
-
Обязательно с помощью делфи? xnview бесплатен, качествен и прекрасно работает с пакетной обработкой
-
Microsoft Office Picture Viewer :-)
-
program x4;
uses SysUtils, Classes, Graphics, Jpeg;
var
j: TJpegImage;
b: TBitmap;
i: Integer;
FileName: string;
List: TStringList;
SR: TSearchRec;
procedure Convert(const FileName:string);
begin
j.LoadFromFile(FileName);
b.Assign(j);
j.Assign(b);
j.SaveToFile('x4_'+FileName);
end;
begin
j := TJpegImage.Create;
j.Scale := jsQuarter;
b := TBitmap.Create;
if ParamCount = 0 then begin
List := TStringList.Create;
if FindFirst('*.jpg', faAnyFile, SR) = 0 then begin
repeat
List.Add(SR.Name);
until FindNext(SR) <> 0;
FindClose(SR);
end;
for i := 0 to List.Count - 1 do
Convert(List[i]);
List.Free;
end
else
for i := 1 to ParamCount do begin
FileName := ParamStr(i);
if FileExists(FileName) and
(LowerCase(ExtractFileExt(FileName)) = '.jpg') then
Convert(FileName);
end;
j.Free;
b.Free;
end.
-
IrfanView - умеет делать качественную обработку - это просмоторщик. Бесплатная прога.
Причем здесь Delphi (С++,C# и др. языки) и "Фотки в среднем весят 10-15 мб и DVD их плохо грузит"
-
> Кто б сомневался © (05.01.10 17:44) [5]
> Причем здесь Delphi (С++,C# и др. языки)
Ну как - сапожник, наконец дошел до своих сапогов.
Устал он от собственного участия в развитии ACDSee, понимашь..
-
to MBo © (05.01.10 15:17) [4]:
Кстати, о птичках.
>j := TJpegImage.Create;
TJpegImage корежит цвета так, что аж на глаз заметно.
-
>vuk © (05.01.10 19:17) [7]
Я предполагаю, что Scale := jsQuarter подразумевает простое преобразование без пересчета цветов. Но в тонкостях не разбирался.
-
to MBo © (05.01.10 19:52)
[8]:
Я не по поводу данного примера, а вообще. Scale ни при чем. Я, когда понадобилось найти более-менее нормальную библиотеку для обработки изображений, всяких реализаций много перебрал. Во многих случаях были те же проблемы (видимо какие-то косяки в алгоритмах кочуют из библиотеки в библиотеку). В конечном итоге остановился на GFL SDK:
http://www.xnview.com/en/gfl.html
-
> vuk ©
Может, внедренный цветовой профиль не учитывают?
-
> vuk © (05.01.10 20:01) [9]
Во многих случаях были те же проблемы..
Даже с ijl*.dll ?
-
to Джо © (05.01.10 20:02) [10]:
>Может, внедренный цветовой профиль не учитывают?
Профиль тоже ни при чем. Имеем два изображения без профилей, после загрузки в TJpegImage и сохранения в другой файл имеем разные цвета (у меня особенно на ярко-красных цветах заметно было).
То же самое, но при помощи GFL - все нормально с цветами.
-
to Jeer © (05.01.10 20:08) [11]:
>Даже с ijl*.dll ?
Ет хто? :)
Если честно, не попадалось. Я в первую очередь рассматривал реализации на Delphi. Навскидку сейчас помню (давно было) только Envision Image Library, но что-то еще смотрел. Потом плюнул и взял GFL. Оттуда еще и масштабирование с шарпингом заюзались до кучи.
-
Ну.. как бы, это хорошо известная Intel JPeg Library. Не знаю как сейчас дела обстоят ( наверняка лучше ), но для своего времени была фишкой по скорости.
Free до ijl15.dll, пока не сделали платной. Как-то так.
Использовали ее многие Delphi-библиотеки, например, FastLib.
-
to Jeer © (05.01.10 20:24) [14]:
Ну, значит не дошла до неё в то время очередь. Остановился на первом, что нашел и что подошло под решаемую задачу.
-
Глянул setup v.1.51 - 2001 г.
Есть релизы отдельной ijl15.dll на 2003 г.
Потом все это перетекло в платную ISPL ( Intel Signal Processing Library )
-
Спасибо за советы обязательно попробую. А цель очень проста 1) развить свои знания и способности 2)фоток 640 шт и если каждую открывать в ручную то мышка может сдохнуть а на пальце будет большой мазоль...
-
> 2)фоток 640 шт и если каждую открывать
Microsoft Office Picture Manager --> Compress Pictures прекрасно справляется с этой задачей